Re: [PATCH 1/1] net: mvpp2: fix XDP rx queues registering

From: Emmanuel Deloget
Date: Mon Dec 06 2021 - 11:46:04 EST


John,

On 06/12/2021 17:16, John Fastabend wrote:
Jakub Kicinski wrote:
On Mon, 6 Dec 2021 15:42:47 +0000 Russell King (Oracle) wrote:
On Mon, Dec 06, 2021 at 04:37:20PM +0100, Emmanuel Deloget wrote:
On 10/11/2021 15:41, Louis Amas wrote:
The registration of XDP queue information is incorrect because the
RX queue id we use is invalid. When port->id == 0 it appears to works
as expected yet it's no longer the case when port->id != 0.

When we register the XDP rx queue information (using
xdp_rxq_info_reg() in function mvpp2_rxq_init()) we tell them to use
rxq->id as the queue id. This value iscomputed as:
rxq->id = port->id * max_rxq_count + queue_id

where max_rxq_count depends on the device version. In the MB case,
this value is 32, meaning that rx queues on eth2 are numbered from
32 to 35 - there are four of them.

Clearly, this is not the per-port queue id that XDP is expecting:
it wants a value in the range [0..3]. It shall directly use queue_id
which is stored in rxq->logic_rxq -- so let's use that value instead.

This is consistent with the remaining part of the code in
mvpp2_rxq_init().

Is there any update on this patch ? Without it, XDP only partially work on a
MACCHIATOBin (read: it works on some ports, not on others, as described in
our analysis sent together with the original patch).

I suspect if you *didn't* thread your updated patch to your previous
submission, then it would end up with a separate entry in
patchwork.kernel.org,

Indeed, it's easier to keep track of patches which weren't posted
as a reply in a thread, at least for me.

and the netdev maintainers will notice that the
patch is ready for inclusion, having been reviewed by Marcin.

In this case I _think_ it was dropped because it didn't apply.

Please rebase on top of net/master and repost if the changes is still
needed.

Also I would add the detailed description to the actual commit not below
the "--" lines. Capturing that in the log will be useful for future
reference if we ever hit similar issue here or elsewhere.

Otherwise for patch,

Acked-by: John Fastabend <john.fastabend@xxxxxxxxx>


Ouch. We failed to get this email before resending the patch.

My bad - and sorry for the inconvenience.

I'll see with Louis to change again the commit message and add your Acked-by.

Best regards,

-- Emmanuel Deloget