Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Apr 2018 16:01:20 -0400
From:      Ryan Stone <rysto32@gmail.com>
To:        Stephen Hurd <shurd@freebsd.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org,  svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   Re: svn commit: r332447 - stable/11/sys/dev/ixgbe
Message-ID:  <CAFMmRNwM6Y6fs2dR97zX6qnoGqDJnwf3Vha8wi-RReBcbKwRcQ@mail.gmail.com>
In-Reply-To: <201804121906.w3CJ6FZo092138@repo.freebsd.org>
References:  <201804121906.w3CJ6FZo092138@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFMmRNwM6Y6fs2dR97zX6qnoGqDJnwf3Vha8wi-RReBcbKwRcQ>