lkml.org 
[lkml]   [2005]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: RT and XFS
From
Date
On Thu, 2005-07-14 at 13:50 +1000, Dave Chinner wrote:
> Now that I've read the thread, I see it's not mrlocks that is the
> issue with unlocking in a different context - it's semaphores.
>
> All the pagebuf synchronisation is done with a semaphore because
> it's held across the I/O and it's _most definitely_ released in a
> different context when doing async I/O. Just about all metadata I/O
> is async because once the transaction has been logged to disk we
> don't need to write these buffers out synchronously. Not to mention
> the log I/O completion unlocks the buffers in a transaction in a
> different context as well.
>
> The whole point of using a semaphore in the pagebuf is because there
> is no tracking of who "owns" the lock so we can actually release it
> in a different context. Semaphores were invented for this purpose,
> and we use them in the way they were intended. ;)

Where is the that semaphore spec, is that posix ? There is a new
construct called "complete" that is good for this type of stuff too. No
owner needed , just something running, and something waiting till it
completes.

> Realistically, I seriously doubt the need for any sort of rt changes
> to these semaphores. They can be held for indeterminant periods of
> time potentially across multiple disk I/Os (e.g. when held locked in
> a transaction that requires more metadata to be read in from disk to
> make progress). Hence there is no really no point in making them RT
> aware because if you end up waiting on one of them you can forget
> about pretty much any RT guarantee that you've ever given....

PI is always good, cause it allows the tracking of what is high
priority , and what is not .

Daniel

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-07-14 06:14    [from the cache]
©2003-2011 Jasper Spaans