On 19 June 2017 at 15:53, Martin Pieuchot <[email protected]> wrote:
>
> On 09/06/17(Fri) 15:54, Martin Pieuchot wrote:
> > On 09/06/17(Fri) 00:32, Alexander Bluhm wrote:
> > > On Tue, Jun 06, 2017 at 05:15:40PM +0200, Martin Pieuchot wrote:
> > > > TCP/UDP are almost ready to run without KERNEL_LOCK() because
accesses
> > > > to their sockets are serialized via the NET_LOCK().  On the other
hand
> > > > pfkey and routing sockets accesses still rely on the KERNEL_LOCK().
> > > >
> > > > Since we're going to work at the socket layer, first to remove the
> > > > KERNEL_LOCK() from routing/pfkey sockets then to split the
NET_LOCK(),
> > > > we need some tooling to move faster and avoid mistakes.
> > > >
> > > > Currently all operations on socket buffers are protected by these
> > > > locks.  I'd like to assert that, at least for all functions used in
> > > > TCP/UDP layers.
> > > >
> > > > The idea is to later change the lock asserted in soassertlocked().
> > > >
> > > > Comments, ok?
> > >
> > > Good idea, mostly OK.
> >
> > Updated diff:
> >
> >  - use a clever trick in sorflush() to make the new assert happy.
> >  - convert sbappendrecord() and sbappend() for coherency
> >  - fix other nits bluhm@ spotted
> >  - add a missing solock()/sounlock() in filt_sowrite().  Note that
> >    this doesn't make the whole function mp-safe.
>
> New version including a fix for kqueue filters.

Looks good to me.  OK mikeb

Reply via email to