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