svn commit: r332447 - stable/11/sys/dev/ixgbe

Ryan Stone rysto32 at gmail.com
Thu Apr 12 20:01:23 UTC 2018


Spinning in the kernel for a full second is a really bad idea.  At
minimum this is going to hold off all callouts from one of the callout
threads for up to a full second as ixgbe_local_timer() waits for the
core mutex.  That chews up two CPU cores doing busy-wait loops (the
ixgbe_stop() thread busy-waits in msec_delay and the callout thread
adaptively spins waiting for the mutex).  If any other thread tries to
acquire the core lock they also adaptively spin on the mutex chewing
up yet more cores.  This includes any threads trying to fetch
interface status (e.g. ifconfig), various interrupt handlers, etc.


More information about the svn-src-all mailing list