On 12/09/16(Mon) 12:12, Vincent Gross wrote:
> On Mon, 12 Sep 2016 10:49:03 +0200
> Martin Pieuchot <m...@openbsd.org> wrote:
> 
> > I'd like to use a write lock to serialize accesses to ip_output().
> > This will be used to guarantee that atomic code sections in the
> > socket layer stay atomic when the input/forwarding path won't run
> > under KERNEL_LOCK().
> > 
> > For such purpose I'll have to convert some tsleep(9) to an
> > msleep(9)-like function operating on a write lock.  That's why I'd
> > like to introduce rwsleep(9).  I did not bother exporting a read
> > variant of this function since I don't need it for the moment.
> > 
> > ok?
> 
> MP noob here :
> 
> tsleep() and msleep() check if they are called during autoconfiguration
> or after a panic to let interrupts run. There is no such check here. I
> get that rwsleep() during autoconf makes little sense, but to err on
> the safe side maybe add some kind of assert (if it is not too much of
> a pain) ? and what about panic, shouldn't this be handled ?

This is not a MP problem but an old BSD heritage.  I don't mind adding
it.  But that's not a real solution to panic being broken with sleep or
locks.

Reply via email to