[Intel-wired-lan] [RFC PATCH 0/2] net:setup XPS mapping for each online CPU

Eric Dumazet edumazet at google.com
Thu Mar 15 15:31:52 UTC 2018


On Thu, Mar 15, 2018 at 8:08 AM Paolo Abeni <pabeni at redhat.com> wrote:

> Currently, most MQ netdevice setup the default XPS configuration mapping
1-1
> the first real_num_tx_queues queues and CPUs and no mapping is created for
> the CPUs with id greater then real_num_tx_queues, if any.

> As a result, the xmit path for unconnected sockets on such cores
experiences a
> relevant overhead in netdev_pick_tx(), which needs to dissect each packet
and
> compute its hash.

> Such scenario is easily triggered. e.g. from DNS server under relevant
load, as
> the user-space process is moved away from the CPUs serving the softirqs
(note:
> this is beneficial for the overall DNS server performances).

> This series introduces an helper to easily setup up XPS mapping for all
the
> online CPUs, and use it in the ixgbe driver, demonstrating a relevant
> performance improvement in the above scenario.

> Paolo Abeni (2):
>    net: introduce netif_set_xps()
>    ixgbe: setup XPS via netif_set_xps()


Resent, not HTML this time, sorry for duplication.

I truly believe XPS should not be setup by devices.

XPS is policy, and policy does belong to user space.

User space knows that CPU 2  and 3 (pure examples) are reserved for storage
interrupts, not NIC ones.

Note that if XPS is not setup, MQ queue selection is just fine by default ;


More information about the Intel-wired-lan mailing list