[Top] [All Lists]

Re: RT and XFS

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>, Bill Huey <bhuey@xxxxxxxx>, Esben Nielsen <simlo@xxxxxxxxxx>, Daniel Walker <dwalker@xxxxxxxxxx>, Dave Chinner <dgc@xxxxxxx>, greg@xxxxxxxxx, Nathan Scott <nathans@xxxxxxx>, Steve Lord <lord@xxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, linux-xfs@xxxxxxxxxxx
Subject: Re: RT and XFS
From: Ingo Molnar <mingo@xxxxxxx>
Date: Tue, 19 Jul 2005 15:50:56 +0200
In-reply-to: <20050719132750.GA20595@infradead.org>
References: <20050714160835.GA19229@infradead.org> <Pine.OSF.4.05.10507171848440.14250-100000@da410.phys.au.dk> <20050719032624.GA22060@nietzsche.lynx.com> <20050719123457.GC12368@elte.hu> <20050719132750.GA20595@infradead.org>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/
* Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:

> On Tue, Jul 19, 2005 at 02:34:57PM +0200, Ingo Molnar wrote:
> > (I do disagree with Christoph on another point: i do think we eventually 
> > want to change the standard semaphore type in a similar fashion upstream 
> > as well - but that probably has to come with a s/struct semaphore/struct 
> > mutex/ change as well.)
> Actually having a mutex_t in mainline would be a good idea even 
> without preempt rt, to document better what kind of locking we expect.

cool! I'll cook up a patch for that. Right now these are the numbers: 
there are 526 uses of struct semaphore in 2.6.12. In the -RT tree i had 
to change 23 of them to be compat_semaphore - i.e. 23 uses were 
definitely non-mutex.

(We sure have missed some cases - but it would be fair to say that the 
expected number of cases is less than 50, and that we've mapped the most 
common ones already. That makes it a 90%/10% splitup: more than 90% of 
all struct semaphore use is pure mutex.)

Of the remaining <10% cases, the majority is of the type of completions, 
and there are a handful of (<10) cases of 'counted semaphore' uses: 
semaphores with a count larger than 1. (e.g. ACPI uses it to count 
resources, some audio code too - but it's very rare) Btw., that's the 
only 'true' (in terms of CS) semaphore use.


<Prev in Thread] Current Thread [Next in Thread>