All of lore.kernel.org
 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 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.