On 2022/06/29 13:19, Stuart Henderson wrote:
> On 2022/06/28 23:11, Jonathan Matthew wrote:
> > This adds the (not quite) final bits to em(4) to enable multiple rx/tx 
> > queues.
> > Note that desktop/laptop models (I218, I219 etc.) do not support multiple 
> > queues,
> > so this only really applies to servers and network appliances (including 
> > APU2).
> > 
> > It also removes the 'em_enable_msix' variable, in favour of using MSI-X on 
> > devices
> > that support multiple queues and MSI or INTX everywhere else.
> > 
> > I've tested this with an I350 on amd64 and arm64, where it works as 
> > expected, and
> > with the I218-LM in my laptop where it does nothing (as expected).
> > More testing is welcome, especially in forwarding environments.
> 
> Doesn't break things but doesn't do anything on i386 (I guess there's no 
> MSI-X?)

On amd64 on a similar machine, it works

I guess it maybe related to this in ppb.c


#ifdef __i386__
                if (pci_intr_map(pa, &ih) == 0)
                        sc->sc_intrhand = pci_intr_establish(pc, ih, IPL_BIO,
                            ppb_intr, sc, self->dv_xname);
#else
                if (pci_intr_map_msi(pa, &ih) == 0 ||
                    pci_intr_map(pa, &ih) == 0)
                        sc->sc_intrhand = pci_intr_establish(pc, ih, IPL_BIO,
                            ppb_intr, sc, self->dv_xname);
#endif

Reply via email to