On Thu, Feb 06, 2020 at 11:30:20PM +0000, Jason R Thorpe wrote: > Modified Files: > src/sys/net: if.c if.h > src/sys/netinet: ip_carp.c > > Log Message: > Perform link state change processing on a work queue, rather than in a > softint.
Thinking out loud more than anything else: Bit concerning that we're growing a ton of kthreads in the network stack (my test system now has something like 700 kthreads total) but I'm less worried about that and moreso that a lot of these seem to be in the kernel RT range and will therefore cause kernel preemptions when triggered. For something like a link state change that's no biggie but I'm not fond of the idea of bulk wire & protcol processing needing mi_switch() + kpreempt(). Way back when we made a concious decision not copy the design pattern our sister project went with on this front. Maybe it is the right way to go now but I think that should also be a concious design decision. Andrew