From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DNS_FROM_AHBL_RHSBL,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vrfy.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=HEM7n/ENfWPi2CYoGXAS6ndSEMlmXlNClxO6pAUIVn8=; b=W9EsSO65C54y4ieCfrRvkjgql0csZOtDcZcG//HvktgMNCl34kJ1yElzC+qtbiTeWh SNEtA4FJwSF+eXkSaca5cbjYxZ8DtxLB4GibRqWqICuL1Qcvwuu9sa2hzTzd+2Shduxg j+LeN6Ah6tliJVBL7tFa9nALJFMMBHkO4FIJQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=HEM7n/ENfWPi2CYoGXAS6ndSEMlmXlNClxO6pAUIVn8=; b=DJ8PkZPpArtmKPmKGjDZm6ISyEoA7ZjuT8zdPNy5UwiqpOtT1D3eanwaH+r8pKEWl6 CRUQwTRfVc8+e9FeW+4AgSsLIiEHEUFUoM9u/rpYvxzXUE7Uqp2Z8l8Zv0/OMyKvuQbg bjaEuRsWfKrbfoAOzr2wi+gj1nvj74u59lwHYAwAATbraKCfi43kF2J4lYb1cNXadGOo jbju5n3kpTPSrKZ29nOejYoNk7CY6RNn93Nee6SjQKUHmPsZ9a9YsrGPZ1eAIj213o3p +aWe+jefQu7p+jtZzebCYalHg5sEMUzQfgepfNXIf1mq8PQl206Ew7ZUQHgd24RWHhvl EmNg== X-Gm-Message-State: ALoCoQl+4r7WjUyIv7k1K2BeLUBREIAphNNHFuPb/VDcKoAnn03s4A7a0eE4lPBwu5YI7Aho1zIQ X-Received: by 10.43.29.208 with SMTP id rz16mr77989849icb.89.1427916746845; Wed, 01 Apr 2015 12:32:26 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <20150123021329.GF2702@gardel-login> From: Kay Sievers Date: Wed, 1 Apr 2015 21:32:06 +0200 Message-ID: To: Andy Lutomirski Content-Type: text/plain; charset=UTF-8 X-Mailman-Approved-At: Wed, 01 Apr 2015 23:56:25 +0300 Cc: systemd Mailing List , Lennart Poettering , kbd@lists.altlinux.org Subject: Re: [kbd] [systemd-devel] systemd-vconsole-setup fails very slowly X-BeenThere: kbd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Linux console tools development discussion List-Id: Linux console tools development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Apr 2015 19:32:34 -0000 Archived-At: List-Archive: On Wed, Apr 1, 2015 at 8:56 PM, Andy Lutomirski wrote: > On Thu, Jan 22, 2015 at 6:29 PM, Andy Lutomirski wrote: >> On Thu, Jan 22, 2015 at 6:13 PM, Lennart Poettering >> wrote: >>> On Wed, 21.01.15 19:15, Andy Lutomirski (luto@amacapital.net) wrote: >>> >>>> Hi all- >>>> >>>> When running virtme (a simple vm gadget) on Fedora 21, the slowest >>>> part of bootup by far appears to be systemd-vconsole-setup: >>>> >>>> # time /usr/lib/systemd/systemd-vconsole-setup >>>> putfont: PIO_FONT trying ... >>>> ................... >>>> setfont: putfont: 512,8x16: failed: -1 >>>> putfont: PIO_FONT: Invalid argument >>>> /usr/bin/setfont failed with error code 71. >>> >>> setfont is not part of systemd, we just invoke it. If that fails, this >>> is a problem somewhere between the VM, the kernel and console-tools. >>> >> >> Aha -- I missed that systemd-vconsole-setup calls setfont. I can >> trigger the same problem by just typing setfont. For whatever reason, >> my other Fedora 21 computer only has this problem if I type setfont >> and not if I run systemd-vconcole-setup. >> >>> My uneducated guess is that your virtual machine boots up with a >>> non-graphical console, and the tool thus tries to upload the fonts >>> into the good old VGA hw text mode glyph tables, and qemu is very slow >>> at that... Or something like that. >> >> setfont is doing this: >> >> nanosleep({0, 250000000}, NULL) = 0 >> ioctl(3, PIO_FONT, 0xfbc010) = -1 EINVAL (Invalid argument) >> write(2, ".", 1.) = 1 >> nanosleep({0, 250000000}, NULL) = 0 >> ioctl(3, PIO_FONT, 0xfbc010) = -1 EINVAL (Invalid argument) >> write(2, ".", 1.) = 1 >> nanosleep({0, 250000000}, NULL) = 0 >> ioctl(3, PIO_FONT, 0xfbc010) = -1 EINVAL (Invalid argument) >> write(2, ".", 1.) = 1 >> nanosleep({0, 250000000}, NULL) = 0 >> ioctl(3, PIO_FONT, 0xfbc010) = -1 EINVAL (Invalid argument) >> write(2, ".", 1.) = 1 >> nanosleep({0, 250000000}, NULL) = 0 >> ioctl(3, PIO_FONT, 0xfbc010) = -1 EINVAL (Invalid argument) >> write(2, ".", 1.) = 1 >> >> This thing has only a serial console: >> >> # cat /proc/consoles >> ttyS0 -W- (EC a) 4:64 >> >> setfont does this: >> >> /* we allow ourselves to hang here for ca 5 seconds, xdm may >> be playing tricks on us. */ >> while ((loop++ < 20) && (i = ioctl(fd, PIO_FONT, buf))) >> { >> if (loop <= 1) >> fprintf(stderr, "putfont: PIO_FONT trying ...\n"); >> else >> fprintf(stderr, "."); >> usleep(250000); >> } >> fprintf(stderr, "\n"); >> >> Alexey, would it make sense to remove this loop or to add a way to turn it off? > > Ping, everyone? > > This issue still exists. AFAICT systemd is relying on a really old > tool, that that really old tool (setfont) is sometimes delaying boot > by a very large amount. Can we either fix the tool (Alexey) or stop > using it (systemd people)? Hmm, why is the "vm gadget" you run configuring a custom console font at all? If there is no custom font specified in t he config, systemd will not run setfont. Or did you mean to have vconsole-setup detect that it should not even try to run setfont? Not sure how to find that out. I don't really see how vconsole-setup could get rid of calling setfont from systemd, it is needed in many setups. Kay