On 18/05/01 (火) 17:43, Jesper Dangaard Brouer wrote:
On Tue, 1 May 2018 17:02:34 +0900
Toshiaki Makita <makita.toshi...@lab.ntt.co.jp> wrote:
On 2018/05/01 16:50, Jesper Dangaard Brouer wrote:
On Tue, 24 Apr 2018 23:39:18 +0900
Toshiaki Makita <toshiaki.maki...@gmail.com> wrote:
+static int veth_xdp_enqueue(struct veth_priv *priv, void *ptr)
+{
+ if (unlikely(ptr_ring_produce(&priv->xdp_ring, ptr)))
+ return -ENOSPC;
+
+ return 0;
+}
Here we have a lock per (enqueued) packet. I'm working on changing the
ndo_xdp_xmit API to allow bulking. And the tun driver have exact same
issue/need.
Probably I should have noted in commitlog, but this per-packet lock is
removed in patch 9.
I'm curious about if any change is needed by your new API.
Again, I'm just moving this into the generic code, to avoid having to
implement this for every driver.
Plus, with CONFIG_RETPOLINE we have the advantage of only calling
ndo_xdp_xmit once (indirect function pointer call).
Nice. Once it becomes available I'll use it instead.
Toshiaki Makita