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.1 required=5.0 tests=BAYES_00, DNS_FROM_AHBL_RHSBL, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 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=ixcR3PCwzp5esP78sWLBKW2q4J01wuSDMc9qkNnZpNc=; b=XqdHFKxUsc/u/951GEwRnZpwbm7liiclcDNeozeKxMhD2aduOC63Tm+kE8mPqWBOJ/ f0o1b3EC+ArZU3pnBSC5lGmmNeMA8uaGih4tegaDAD0vYFkfW8ahteT3ZVE1l2fq+M+V y9qb++XibjSNMbVpswB5bDf+Ky/FZrkGxowZGltX+ru7Pwe/4vh3YtrWc7xvrx/Loc4k noRnMmwq3/IpgChdPC4P5WNiKOdOd3IlEubdoLU+1aBkn2+r9MMapgl9t4IPIatkg0cc GJR1Kg94XdUzPIk+X5OlZtc8GjSq2S0u047TzWHsSiBT4iSH/eb+kvEnpwmC5AL/QOo4 ZJvg== X-Gm-Message-State: ALoCoQmVNDdcrUKYwq/vaN90RbLJuWnHhiH4Zi+nyZtKmG+coIOzEyd5c8i3G7JBOJ/o38EEQDS4 X-Received: by 10.112.67.107 with SMTP id m11mr36910353lbt.43.1427914630923; Wed, 01 Apr 2015 11:57:10 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <20150123021329.GF2702@gardel-login> From: Andy Lutomirski Date: Wed, 1 Apr 2015 11:56:50 -0700 Message-ID: To: Lennart Poettering , kbd@lists.altlinux.org Content-Type: text/plain; charset=UTF-8 X-Mailman-Approved-At: Wed, 01 Apr 2015 23:56:35 +0300 Cc: systemd Mailing List 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 18:57:16 -0000 Archived-At: List-Archive: 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)? --Andy