[Bug 284057] vmxnet3/iflib: crash in vmxnet3_isc_txd_credits_update

[email protected]
Newsgroups gmane.os.freebsd.devel.net
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=284057

--- Comment #12 from Andriy Gapon <[email protected]> ---
Another thing.
There is a curious comment in vmxnet3_msix_intr_assign which I cannot really
understand:
/*
 * Don't provide the corresponding rxq irq for reference -
 * we want the transmit task to be attached to a task queue
 * that is different from the one used by the corresponding
 * rxq irq.  That is because the TX doorbell writes are very
 * expensive as virtualized MMIO operations, so we want to
 * be able to defer them to another core when possible so
 * that they don't steal receive processing cycles during
 * stack turnarounds like TCP ACK generation.  The other
 * piece to this approach is enabling the iflib abdicate
 * option (currently via an interface-specific
 * tunable/sysctl).
 */

Just out of curiosity I set dev.vmx.0.iflib.tx_abdicate=1.
Since doing that I do not see any concurrent calls to
vmxnet3_isc_txd_credits_update for the same queue.
That is, each queue is always handled on its own CPU.

Used this for checking:
dtrace -n 'vmxnet3_isc_txd_credits_update:entry /args[1] !=
curthread->td_oncpu/ { @[stack()] = count(); }'

-- 
You are receiving this mail because:
You are the assignee for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.