> Date: Sun, 29 Aug 2010 22:26:14 +1000
> From: David Gwynne <l...@animata.net>
> 
> this diff is largely a mechanical change.
> 
> firstly, it makes struct bufq a member of the softc for devices
> that use it, rather than it being a pointer to something that needs
> to be allocated at attach. since all these devices need a bufq to
> operate, it makes sense to have it allocated as part of the softc
> and get bufq_init to just initialise all its fields. it also gets
> rid of the possibility that you wont be able to allocate teh bufq
> struct during attach, which is something you dont want to happen.
> 
> secondly, it consistently implements a split between wrapper functions
> and the per discipline implementation of the bufq handlers. it
> consistently does the locking in the wrappers rather than doing
> half in the wrappers and the other half in the implementations.
> 
> it also consistently handles the outstanding bufq bq pointer in the
> wrappers.
> 
> this hides most of the implementation inside kern_bufq.c. the only
> stuff left in buf.h is for the bits each implementation needs to
> put bufs on their queues.
> 
> ive tested this extensively on sd(4) and thib has tested this on
> wd(4). we'd like some wider exposure, especially over suspends and
> resumes on a variety of machines. i have tried to preserve the
> locking semantics, but testing would be lovely.
> 
> ok?

I realise you committed this already, but can you elaborate on those
XXX's in there?

Reply via email to