summaryrefslogtreecommitdiff
path: root/include/linux/stacktrace.h
diff options
context:
space:
mode:
authorMichael Guralnik <michaelgur@nvidia.com>2026-06-10 03:01:40 +0300
committerJason Gunthorpe <jgg@nvidia.com>2026-06-11 21:36:08 +0300
commitc6936506ed556ce3ccad36ab999baf2764dd7d25 (patch)
tree23abae95ddcdf4b70a63431d3c46b0bb7ee51b03 /include/linux/stacktrace.h
parent3d7fd88aeff73f25ee740b3a65a3b4dd38ad7783 (diff)
downloadlinux-c6936506ed556ce3ccad36ab999baf2764dd7d25.tar.xz
RDMA/core: Fix FRMR aging push to queue error flow
Aging pools with pinned handles requires moving handles from the active queue to a non-empty inactive queue that might fail on new page allocation, we are currently not handling the fault and leaking any mkey that fails the push. Fix by Introducing push_queue_to_queue_locked() that fills the destination's partial tail page from the source and then splices the remaining source pages onto the destination, performing no allocation. Replace the per-handle move loop in age_pinned_pool() and the open-coded splice in pool_aging_work() with calls to the helper. As the helper cannot fail under memory pressure, removing a class of GFP_ATOMIC allocations under the pool lock and simplifying the error flow. Fixes: 020d189d16a6 ("RDMA/core: Add pinned handles to FRMR pools") Link: https://patch.msgid.link/r/20260610000145.820592-5-michaelgur@nvidia.com Signed-off-by: Michael Guralnik <michaelgur@nvidia.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'include/linux/stacktrace.h')
0 files changed, 0 insertions, 0 deletions