summaryrefslogtreecommitdiff
path: root/include/linux/moduleloader.h
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2026-10-05 16:51:19 -0700
committerJakub Kicinski <kuba@kernel.org>2026-10-05 16:51:19 -0700
commitd09997a2285aa1d0dce543f3c114e2248d1855ea (patch)
tree89e9d6fbcab431adc1ff0cd39d5fd1aa45e9f19f /include/linux/moduleloader.h
parent234ae531f14ef54e68194ba97539a8d331d35bdf (diff)
parent56f2178ff7f6c1f458eeb5f79ab2385028ae8a02 (diff)
Merge branch 'mpnic-add-napi-buffer-depletion-check'
Daniel Zahka says: ==================== mpnic: add NAPI buffer depletion check This series provides a buffer depletion check to unwedge Rx processing when page pool allocations have failed. Patch 4 has a more detailed description of the events that lead to the wedge, but the high level idea is that when page pool allocations fail, the buffer descriptor ring can run low, and when that happens the device will drop Rx packets and not raise interrupts, which causes the NAPI event loop not to be scheduled, so new buffers are not posted. There are three setup patches for the depletion check: Patch 1: convert writes to BDQ ring head and tail to WRITE_ONCE(), so the depletion check, which is not synchronized with the NAPI event loop, can READ_ONCE() those same fields. Patch 2: introduce the driver level service task that runs once per second while the netif is running. Patch 3: set the minimum Rx buffers needed per packet based on page size and max MTU. With those in place, we have everything we need to watch the buffer ring head and tail positions from the service task, compare posted buffers to programmed Rx drop thresholds, and then force mpnic_poll() to run if needed. ==================== Link: https://patch.msgid.link/20261001-linux-mpnic-v1-0-6422ee74233a@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux/moduleloader.h')
0 files changed, 0 insertions, 0 deletions