Patch "tuntap: correctly add the missing XDP flush" has been added to the 4.14-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
tuntap: correctly add the missing XDP flush
to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
tuntap-correctly-add-the-missing-xdp-flush.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Tue Mar 6 19:02:12 PST 2018
From: Jason Wang <[email protected]>
Date: Sat, 24 Feb 2018 11:32:26 +0800
Subject: tuntap: correctly add the missing XDP flush
From: Jason Wang <[email protected]>
[ Upstream commit 1bb4f2e868a2891ab8bc668b8173d6ccb8c4ce6f ]
We don't flush batched XDP packets through xdp_do_flush_map(), this will cause packets stall at TX queue. Consider we don't do XDP on NAPI poll(), the only possible fix is to call xdp_do_flush_map() immediately after xdp_do_redirect().
Note, this in fact won't try to batch packets through devmap, we could address in the future.
--- drivers/net/tun.c | 1 + 1 file changed, 1 insertion(+)
drivers/net/tun.c +1 -0
@@ -1333,6 +1333,7 @@ static struct sk_buff *tun_build_skb(strget_page (alloc_frag->page); alloc_frag->offset += buflen; err =xdp_do_redirect (tun->dev, &xdp, xdp_prog); +xdp_do_flush_map ();if (err) goto err_redirect;rcu_read_unlock ();
Patches currently in stable-queue which might be from [email protected] are
queue-4.14/tuntap-correctly-add-the-missing-xdp-flush.patch queue-4.14/virtio-net-disable-napi-only-when-enabled-during-xdp-set.patch queue-4.14/tuntap-disable-preemption-during-xdp-processing.patch