On Mon, Jun 24, 2019 at 9:39 AM Ryota Ozaki <ozaki.ry...@gmail.com> wrote: > > On Mon, Jun 24, 2019 at 6:27 PM matthew green <m...@eterna.com.au> wrote: > > > > > Only KERNEL_LOCK (and some splsoftnet) is required for the network stack > > > now. Remaining splnets are for network drivers. (softnet_lock is also > > > required > > > in some cases but it's another story...) > > > > great! i studied the code and i couldn't find any issues > > in any of the relevant paths, so i'm glad to hear it's > > supposed to be like this. > > > > for one particular case (ether_ioctl) how is this diff: > > > > - * Common ioctls for Ethernet interfaces. Note, we must be > > - * called at splnet(). > > + * Common ioctls for Ethernet interfaces. > > + * > > + * Non IFEF_MPSAFE drivers must call this function at at least called > > + * at splsoftnet(). > > > > or should they also be with kernel lock? > > Yes. > > Also I think splnet is still needed for ether_ioctl for sure because > it has to care not only the network stack but also network drivers. > > ozaki-r
Thank you all for detailed explanations. I hope the source would be -DNET_MPSAFE by default. Thanks,