CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2020/06/17 00:36:17
Modified files:
sys/dev/pci : if_vmx.c files.pci
Log message:
enable multiple queues (and interrupts on multiple cpus) on vmx(4).
im doing this with vmx(4) because it only exists on two archs (well,
one and a half archs really) so any impact is localised. most other
drivers i'm working on are enabled on 3 or 4 archs, and we're still
working on the interrupt code on those archs.
in the meantime vmx(4) can be used as a reference driver on how to
implement multiq. it shows the use of rss, toeplitz, intrmap, and
interrupts on multiple cpus. it's also a relatively simple device,
which makes it easier to understand the above features.
note that vmx(4) seems to advertise 25 msi-x vectors. it appears
that the intention is that 16 of these vectors are supposed to be
used for rx, 8 for tx, and 1 for events (eg, link up and down).
we're keeping things simple for now and using a maximum of 8 vectors
for both tx and rx, and one for events.
this is mostly based on work that jmatthew@ did, but it's simplified
now cos intrmap makes things easier.