From: Andi Kleen <andi@firstfloor.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andi Kleen <andi@firstfloor.org>, Jiri Kosina <jkosina@suse.cz>,
Calvin Walton <calvin.walton@kepstin.ca>,
linux-kernel@vger.kernel.org, shemminger@vyatta.com
Subject: Re: long boot delays caused by 070ad7e7 floppy change
Date: Tue, 3 Jul 2012 21:40:47 +0200 [thread overview]
Message-ID: <20120703194047.GN11413@one.firstfloor.org> (raw)
In-Reply-To: <CA+55aFzFQiYhJcBfGD7moL3gC-ocwXJ2-kTjuNrw5hBGGbz4ag@mail.gmail.com>
On Tue, Jul 03, 2012 at 12:12:53PM -0700, Linus Torvalds wrote:
> On Tue, Jul 3, 2012 at 11:58 AM, Andi Kleen <andi@firstfloor.org> wrote:
> >
> > [ 2.496493] calling floppy_init+0x0/0xe46 @ 1
> > [ 2.511303] floppy0: lock_fdc: -1 (out of 8)
> > [ 2.511346] floppy0: __reschedule_timeout: setting timeout to 750
>
> Ahhah. And you have CONFIG_HZ250 set, don't you?
Yes I do.
>
> So it's actually asking for a 3-second timeout like it should.
>
> > [ 2.511372] floppy0: reschedule timeout lock fdc
> > [ 22.501757] floppy0: reschedule timeout do wakeup
>
> But that actual timeout is too damn reliably pretty much exactly 20s
> for it to be anything else.
>
> I wonder if 'fd_timeout' had been previously queued already with the
> 20s timeout, and not canceled. So then the new queuing of a 3-second
> timeout doesn't actually do anything, because the
> WORK_STRUCT_PENDING_BIT is still set.
>
> So maybe we're missing a cancel somewhere.
>
> What happens if you add a
>
> cancel_delayed_work(&fd_timeout);
>
> to before the queue_delayed_work() in __reschedule_timeout()? Does
> that possibly make the delay really be 3 seconds?
That works. Patch cuts it down to 3s as before
Tested-by: Andi Kleen <ak@linux.intel.com>
(and with the async probe patch I posted earlier the kernel
boot time goes down by ~1s from 14 to 13ish)
-Andi
With Linus patch:
[ 2.492449] calling floppy_init+0x0/0xe46 @ 1
[ 2.507259] floppy0: lock_fdc: -1 (out of 8)
[ 2.507304] floppy0: __reschedule_timeout: setting timeout to 750
[ 2.507330] floppy0: reschedule timeout lock fdc
[ 5.509642] floppy0: reschedule timeout do wakeup
[ 5.509683] floppy0: no floppy controllers found
[ 5.509796] initcall floppy_init+0x0/0xe46 returned -19 after 2952148
usecs
[ 5.509826] calling brd_init+0x0/0x1ce @ 1
next prev parent reply other threads:[~2012-07-03 19:40 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-02 22:46 long boot delays caused by 070ad7e7 floppy change Andi Kleen
2012-07-02 23:01 ` Linus Torvalds
2012-07-03 13:47 ` Calvin Walton
2012-07-03 17:07 ` Linus Torvalds
2012-07-03 17:40 ` Calvin Walton
2012-07-03 17:50 ` Linus Torvalds
2012-07-03 17:57 ` Jiri Kosina
2012-07-03 18:45 ` Andi Kleen
2012-07-03 17:58 ` Linus Torvalds
2012-07-03 18:15 ` Jiri Kosina
2012-07-03 18:58 ` Andi Kleen
2012-07-03 19:12 ` Linus Torvalds
2012-07-03 19:36 ` Calvin Walton
2012-07-03 19:42 ` Andi Kleen
2012-07-03 20:05 ` Linus Torvalds
2012-07-03 20:11 ` Andi Kleen
2012-07-03 23:06 ` Jiri Kosina
2012-07-03 19:40 ` Andi Kleen [this message]
2012-07-03 23:01 ` Linus Torvalds
2012-07-03 17:45 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120703194047.GN11413@one.firstfloor.org \
--to=andi@firstfloor.org \
--cc=calvin.walton@kepstin.ca \
--cc=jkosina@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=shemminger@vyatta.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.