All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.