CVSROOT:        /cvs
Module name:    src
Changes by:     d...@cvs.openbsd.org    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.

Reply via email to