linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
To: linux-hotplug@vger.kernel.org
Subject: Re: Good news for threading!
Date: Mon, 25 May 2009 20:28:31 +0000	[thread overview]
Message-ID: <4A1AFF6F.5080306@tuffmail.co.uk> (raw)
In-Reply-To: <4A1AA131.7000202@tuffmail.co.uk>

Kay Sievers wrote:
> On Mon, May 25, 2009 at 15:46, Alan Jenkins <alan-jenkins@tuffmail.co.uk> wrote:
>   
>> I solved one of the reservations that held me back on threaded udevd.  I
>> still have some other concerns to work on, but I'm feeling much more
>> optimistic now.
>>
>> Replacing processes with threads reduced page faults (copy-on-write) by
>> 60-80%, but that _still_ left over 10% of udevd time in page fault overhead.
>>
>> I've discovered I can reduce this overhead much further by marking thread
>> stacks with MADV_DONTFORK.  When a thread needs to fork an external program,
>> it can temporarily unmark its own thread stack.
>>
>> Disclaimer: I have no idea why this should reduce the number of page faults.
>>  I could be getting something horribly wrong.  But even if it's wrong, at
>> least it gives me a new angle on this problem.
>>     
>
> Do you have numbers for the difference of threaded vs. non-threaded, for:
>   time (udevadm trigger; udevadm settle)
> when no rules are active?
>
> On my box it's ~0.6 seconds for the non-threaded udevd and ~460
> devices, when I move all rules out of the way.
>
> Thanks,
> Kay
>   

Interesting question.  I stop HAL first, it tends to slow my tests down 
and doesn't represent normal bootup.

Test machine is eeepc 701; trigger -n shows 382 devices.

no threading:    ~0.5s
threading:   ~0.25s

This is based on an a slightly out of date tree.  Your latest HEAD is 
still ~0.5s, but perhaps slightly lower, 0.46-0.48 as opposed to 0.48-0.5.

Alan

  parent reply	other threads:[~2009-05-25 20:28 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-25 13:46 Good news for threading! Alan Jenkins
2009-05-25 19:09 ` Kay Sievers
2009-05-25 20:28 ` Alan Jenkins [this message]
2009-05-25 23:52 ` Kay Sievers
2009-05-26  7:03 ` Scott James Remnant
2009-05-26  9:32 ` Alan Jenkins
2009-05-26  9:36 ` Alan Jenkins

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=4A1AFF6F.5080306@tuffmail.co.uk \
    --to=alan-jenkins@tuffmail.co.uk \
    --cc=linux-hotplug@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).