FreeBSD 7-STABLE mbuf corruption
Adrian Chadd
adrian at freebsd.org
Wed Sep 14 13:15:39 UTC 2011
On 14 September 2011 19:40, John Baldwin <jhb at freebsd.org> wrote:
> You should probably commit that. I wonder if it should be a KASSERT() also so
> that it outright panics on a kernel with INVARIANTS enabled so developers will
> go fix their code as it seems to me to likely be a bug to enqueue a task that
> many times.
Or maybe warn? If it's used per-interrupt (like say it is under ath,
but for a 10GE NIC doing a high packet rate) then you may end up
enqueuing the taskqueue quite often before it next gets a chance to
run. Otherwise the code will have to add some more locking and
tracking of its own to only enqueue the task once.
As I said, I'm just worried that some of the taskqueue users are doing
some kind of poor mans refcounting where n(taskqueue_enqueue)
references has to equal the npending field in the taskqueue callback.
Adrian
More information about the freebsd-net
mailing list