Re: [PATCH bpf-next] xsk: add test for tx_writeable to batched path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/14/21 3:29 PM, Magnus Karlsson wrote:
On Tue, Dec 14, 2021 at 3:28 PM Maciej Fijalkowski
<maciej.fijalkowski@xxxxxxxxx> wrote:
On Tue, Dec 14, 2021 at 11:26:47AM +0100, Magnus Karlsson wrote:
From: Magnus Karlsson <magnus.karlsson@xxxxxxxxx>

Add a test for the tx_writeable condition to the batched Tx processing
path. This test is in the skb and non-batched code paths but not in the
batched code path. So add it there. This test makes sure that a
process is not woken up until there are a sufficiently large number of
free entries in the Tx ring. Currently, any driver using the batched
interface will be woken up even if there is only one free entry,
impacting performance negatively.

I gave this patch a shot on ice driver with the Tx batching patch that i'm
about to send which is using the xsk_tx_peek_release_desc_batch(). I ran
the 2 core setup with no busy poll and it turned out that this change has
a negative impact on performance - it degrades by 5%.

After a short chat with Magnus he said it's due to the touch to the global
state of a ring that xsk_tx_writeable() is doing.

So maintainers, please do not apply this yet, we'll come up with a
solution.

Also, should this be sent to bpf tree (not bpf-next) ?

It is just a performance fix, so I would say bpf-next.

Ok, np. I'm tossing it from patchwork in that case now, and wait for a v2.
Given the fix is a two-liner, I'll leave it up to you which tree you think
it would be best.

Thanks,
Daniel



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux