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
next prev 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).