From: Esben Nielsen <nielsen.esben@googlemail.com>
To: Eric Dumazet <dada1@cosmosbay.com>
Cc: Esben Nielsen <nielsen.esben@googlemail.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Oleg Nesterov <oleg@tv-sign.ru>,
Andrew Morton <akpm@linux-foundation.org>,
Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
Nick Piggin <npiggin@suse.de>
Subject: Re: [PATCH 0/2] convert mmap_sem to a scalable rw_mutex
Date: Mon, 14 May 2007 10:50:45 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.64.0705141040050.20796@frodo.shire> (raw)
In-Reply-To: <4645DCA2.80408@cosmosbay.com>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1627 bytes --]
On Sat, 12 May 2007, Eric Dumazet wrote:
> Esben Nielsen a écrit :
>>
>>
>> On Sat, 12 May 2007, Peter Zijlstra wrote:
>>
>> > On Sat, 2007-05-12 at 11:27 +0200, Esben Nielsen wrote:
>> > >
>> > > On Fri, 11 May 2007, Peter Zijlstra wrote:
>> > >
>> > > >
>> > > > I was toying with a scalable rw_mutex and found that it gives ~10%
>> > > > reduction in
>> > > > system time on ebizzy runs (without the MADV_FREE patch).
>> > > >
>> > >
>> > > You break priority enheritance on user space futexes! :-(
>> > > The problems is that the futex waiter have to take the mmap_sem. And
>> > > as
>> > > your rw_mutex isn't PI enabled you get priority inversions :-(
>> >
>> > Do note that rwsems have no PI either.
>> > PI is not a concern for mainline - yet, I do have ideas here though.
>> >
>> >
>> If PI wasn't a concern for mainline, why is PI futexes merged into the
>> mainline?
>
> If you really care about futexes and mmap_sem, just use private futexes,
> since they dont use mmap_sem at all.
>
futex_wait_pi() takes mmap_sem. So does futex_fd(). I can't see a code
path into the PI futexes which doesn't use mmap_sem.
There is another way to avoid problems with mmap_sem:
Use shared memory for data you need to share with high priority tasks and
normal low priority tasks there. The high priority task(s) run(s) in
an isolated high priority process having its own mmap_sem. This high
priority process is mlock'ed and doesn't do any operations write locking
mmap_sem.
But it would be nice if you can avoid such a cumbersome workaround...
Esben
prev parent reply other threads:[~2007-05-14 8:50 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-11 13:15 Peter Zijlstra
2007-05-11 13:15 ` [PATCH 1/2] " Peter Zijlstra
2007-05-11 14:03 ` Christoph Hellwig
2007-05-11 16:31 ` Andrew Morton
2007-05-11 17:07 ` Christoph Lameter
2007-05-11 18:05 ` Andrew Morton
2007-05-12 18:55 ` Andi Kleen
2007-05-12 18:06 ` Andrew Morton
2007-05-12 18:11 ` Andrew Morton
2007-05-16 23:28 ` Andrew Morton
2007-05-16 23:40 ` Christoph Lameter
2007-05-17 0:24 ` Andrew Morton
2007-05-12 18:12 ` Oleg Nesterov
2007-05-12 19:21 ` Andi Kleen
2007-05-12 21:42 ` Oleg Nesterov
2007-05-11 17:57 ` Peter Zijlstra
2007-05-11 23:00 ` Oleg Nesterov
2007-05-12 7:39 ` Peter Zijlstra
2007-05-12 13:41 ` Peter Zijlstra
2007-05-12 16:04 ` Oleg Nesterov
2007-05-12 16:57 ` Peter Zijlstra
2007-05-12 18:03 ` Oleg Nesterov
2007-05-14 10:59 ` Peter Zijlstra
2007-05-14 11:36 ` Nick Piggin
2007-05-15 0:36 ` Paul E. McKenney
2007-05-15 7:43 ` Peter Zijlstra
2007-05-15 15:29 ` Paul E. McKenney
2007-05-15 16:17 ` Peter Zijlstra
2007-05-15 18:52 ` Paul E. McKenney
2007-05-11 13:15 ` [PATCH 2/2] mm: change mmap_sem over to the " Peter Zijlstra
2007-05-11 16:17 ` Andrew Morton
2007-05-11 17:12 ` Peter Zijlstra
2007-05-11 18:08 ` Andrew Morton
2007-05-14 11:54 ` Nick Piggin
2007-05-11 15:56 ` [PATCH 0/2] convert mmap_sem to a " Ingo Molnar
2007-05-11 16:52 ` Eric Dumazet
2007-05-11 17:18 ` Peter Zijlstra
2007-05-14 12:07 ` Nick Piggin
2007-05-14 12:57 ` Peter Zijlstra
2007-05-11 17:08 ` Christoph Lameter
2007-05-14 11:58 ` Nick Piggin
2007-05-14 12:38 ` Peter Zijlstra
2007-05-12 9:27 ` Esben Nielsen
2007-05-12 10:01 ` Peter Zijlstra
2007-05-12 13:44 ` Esben Nielsen
2007-05-12 14:33 ` Ingo Molnar
2007-05-12 15:34 ` Esben Nielsen
2007-05-12 15:42 ` Ingo Molnar
2007-05-12 15:26 ` Eric Dumazet
2007-05-14 8:50 ` Esben Nielsen [this message]
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=Pine.LNX.4.64.0705141040050.20796@frodo.shire \
--to=nielsen.esben@googlemail.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=dada1@cosmosbay.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@elte.hu \
--cc=npiggin@suse.de \
--cc=oleg@tv-sign.ru \
--cc=tglx@linutronix.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