Subject: Re: Rewrite of buffer queue interface
To: None <tech-kern@netbsd.org>
From: David Laight <david@l8s.co.uk>
List: tech-kern
Date: 07/13/2002 16:30:26
On Sat, Jul 13, 2002 at 03:19:26PM +0200, Juergen Hannken-Illjes wrote:
> The current device driver buffer queue management is not
> very flexible. It assumes all requests are sorted on entry
> and consumed from the head of a list.
> 
> This makes it impossible to use i/o scheduling strategies
> that sort on consumption or maintain the queue in arrays or
> multiple lists.

I tries to work out what this code did a few weeks ago.
Got confused by the 'synchronisation' markers - I think I've
heard since that they aren't used.

It might be worth allowing for:

- Writes to be scheduled that must happed after a previous one.
  Eg updating file system metadata in a guaranteed order.

- Reclaiming structures from the write queue (can this be done now?)
  While still maintaining the ordering relation above.

- allowing code to be called on completion of a write.

These would allow the standard filesystem code to optimise
operations while still ensuring filesystem integrity during
operations like 'rm -rf'.

	David

-- 
David Laight: david@l8s.co.uk