mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: "pantherchen@versanet.de" <pantherchen@versanet.de>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	linux-kernel@vger.kernel.org
Subject: Re: Boot time regression in 2.6.38 after initial wq merge
Date: Tue, 22 Feb 2011 09:17:52 +0100	[thread overview]
Message-ID: <20110222081752.GP31267@htj.dyndns.org> (raw)
In-Reply-To: <4D62CE9C.7090806@versanet.de>

(cc'ing Dmitry and lkml)

Hello,

On Mon, Feb 21, 2011 at 09:44:12PM +0100, pantherchen@versanet.de wrote:
> I'm experiencing a significant boot time regression (almost +50%)
> starting with 2.6.38-rc1 (see boot charts before [0], and after [1]
> - note the long uninterruptible sleep of kworker/0:1).

Comparing the two boot charts, the uninterruptible sleeps in
kowrker/0:1 seems to be the same one from kseriod.  They're about the
same duration.  kseriod is replaced with a work item, so that explains
it.

> After doing some bisecting and thorough testing this merge seems to
> be the first one showing the regression: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=23d69b09b78c4876e134f104a3814c30747c53f1
> ("Merge branch 'for-2.6.38' of
> git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq").
> 
> However, a kernel built from the branch 'for-2.6.38' at
> git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq doesn't show the
> behavior.
> 
> I also tried to cherry-pick those 33 commits, applying them to the
> last good commit from Linus' tree (http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ead36407b41eae942c8c9f70ef963cd369c90e2)
> and it also doesn't show the regression.
> 
> Do you know what's going on here? I'm just an end user and I've
> definitely run out of ideas.
> 
> Thanks in advance for your help,
> 
> Hernando Torque
> Thanks
> 
> [0]: http://launchpadlibrarian.net/64639927/27-12-intel.png
> [1]: http://launchpadlibrarian.net/64640030/38-4-intel.png

>From the boot chart, two things are noticeable.

1. kworker/0:1's uninterruptible sleeps start later than kserio's.

   It could be that cpu 0 was busy running other stuff and thus cmwq
   delayed executing serio_event_work; however, if we look at the CPU
   usage, that doesn't seem likely.  The CPU is not busy at all and if
   the CPU isn't busy, cmwq wouldn't introduce any noticeable delay in
   work item execution.

   Another possibility is the rescuer concurrency depletion bug is
   delaying execution of queued work items early during boot.  This
   was fixed recently.  Can you please give a shot at 2.6.38-rc6 and
   see whether anything is different?

2. Most of the delay is caused by xorg starting up much later.  xorg
   seems to start up in parallel with the kseriod sleeps in 2.6.37 but
   on 2.6.38 it seems to wait for the serio_event_work to finish.

   I have no idea what xorg is waiting for.  Dmitry, any clue?

Thanks.

-- 
tejun

       reply	other threads:[~2011-02-22  8:17 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4D62CE9C.7090806@versanet.de>
2011-02-22  8:17 ` Tejun Heo [this message]
2011-02-22  8:52   ` Dmitry Torokhov
2011-02-22  9:02     ` Tejun Heo
2011-02-22  9:15       ` Dmitry Torokhov
2011-02-22 15:04         ` pantherchen
2011-02-22 17:22           ` Dmitry Torokhov
2011-02-22 17:59             ` Dmitry Torokhov
2011-02-22 19:32               ` pantherchen
2011-02-22 19:52                 ` Dmitry Torokhov
2011-02-22 20:14                   ` pantherchen
2011-02-23  5:20                     ` Dmitry Torokhov
2011-02-23  9:38                       ` Tejun Heo
2011-02-23 10:22                         ` Dmitry Torokhov

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=20110222081752.GP31267@htj.dyndns.org \
    --to=tj@kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pantherchen@versanet.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®