Hello! On 2/22/2018 9:24 AM, Jason Wang wrote:
Commit 762c330d670e ("tuntap: add missing xdp flush") tries to fix the devmap stall caused by missed xdp flush by counting the pending xdp redirected packets and flush when it exceeds NAPI_POLL_WEIGHT or MSG_MORE is clear. This may lead BUG() since xdp_do_flush() was
Lead to BUG().
called under process context with preemption enabled. Simply disable
s/under/in the/?
preemption may silent the warning but be not enough since process may
Silence.
move between different CPUS during a batch which cause xdp_do_flush() misses some CPU where the process run previously. Consider the several fallouts, that commit was reverted. To fix the issue correctly, we can simply calling xdp_do_flush() immediately after xdp_do_redirect(),
Call.
a side effect is that this removes any possibility of batching which could be addressed in the future. Reported-by: Christoffer Dall <christoffer.d...@linaro.org> Fixes: 762c330d670e ("tuntap: add missing xdp flush") Signed-off-by: Jason Wang <jasow...@redhat.com>
[...] MBR, Sergei