On Tue, 13 Sep 2016 10:08:13 +0200 Martin Pieuchot <m...@openbsd.org> wrote:
> 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. > "old BSD heritage" -> 'nuff said. No need to spread the rot then. ok vgross@