Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys



On Thu, Aug 27, 2015 at 07:33:40PM +0200, Michael van Elst wrote:
> On Thu, Aug 27, 2015 at 01:26:45PM +0200, Michael van Elst wrote:
> > On Thu, Aug 27, 2015 at 11:48:15AM +0200, J. Hannken-Illjes wrote:
> > 
> > > Looks racy: what if two threads run  dk_strategy() -> dk_start() and
> > > both get EAGAIN.  Will it leak a buffer when the second thread tries
> > > to save bp and dksc->sc_deferred already holds the buffer from the
> > > first thread?
> > 
> > Looks like it. sc_deferred probably needs to become a fcfs bufq.
> > Currently this could happen for the ld driver (others are not MP_SAFE).
> 
> 
> Maybe just this, a second thread is allowed to queue buffers,
> but the loop is again single-threaded.
> 
> Of course that prevents multiple threads to call diskstart.

does it implies that this prevents multiple outstanding transactions
to the controller ?

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index