[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070512143328.GA24803@elte.hu>
Date: Sat, 12 May 2007 16:33:28 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Esben Nielsen <nielsen.esben@...glemail.com>
Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, Oleg Nesterov <oleg@...sign.ru>,
Andrew Morton <akpm@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
Nick Piggin <npiggin@...e.de>
Subject: Re: [PATCH 0/2] convert mmap_sem to a scalable rw_mutex
* Esben Nielsen <nielsen.esben@...glemail.com> wrote:
> I notice that the rwsems used now isn't priority inversion safe (thus
> destroying the perpose of having PI futexes). We thus already have a
> bug in the mainline.
you see everything in black and white, ignoring all the grey scales!
Upstream PI futexes are perfectly fine as long as the mm semaphore is
not write-locked (by anyone) while the critical path is running. Given
that real-time tasks often use mlockall and other practices to simplify
their workload so this is not all that hard to achieve.
> I suggest making a rw_mutex which does read side PI: A reader boosts
> the writer, but a writer can't boost the readers, since there can be a
> large amount of those.
this happens automatically when you use Peter's stuff on -rt. But
mainline should not be bothered with this.
> I don't have time to make such a rw_mutex but I have a simple idea for
> one, where the rt_mutex can be reused.
Peter's stuff does this already if you remap all the mutex ops to
rt_mutex ops. Which is also what happens on -rt automatically. Ok?
[ for mainline it is totally pointless and unnecessary to slow down all
MM ops via an rt_mutex, because there are so many other, much larger
effects that make execution time unbound. (interrupts for example) ]
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists