summaryrefslogtreecommitdiff
path: root/include/linux/debugobjects.h
diff options
context:
space:
mode:
authorMing Lei <tom.leiming@gmail.com>2026-04-23 11:30:58 +0800
committerJens Axboe <axboe@kernel.dk>2026-04-23 04:52:47 -0600
commit309e02dccf64e1b7bd2067abedc270e33b0aadf3 (patch)
tree60c12baee4f3adc7ce62a8588bd3ced055a8aabb /include/linux/debugobjects.h
parentea1db795de5fe9ea6844f3152483c4d3a02c0480 (diff)
ublk: avoid unpinning pages under maple tree spinlock
ublk_shmem_remove_ranges() calls unpin_user_pages() while holding the maple tree spinlock (mas_lock). Although unpin_user_pages() is safe in atomic context, holding the spinlock across potentially many page unpinning operations is not ideal. Split into __ublk_shmem_remove_ranges() which erases up to 64 ranges under mas_lock, collecting base_pfn and nr_pages into a temporary xarray. Then drop the lock and unpin pages outside spinlock context. ublk_shmem_remove_ranges() loops until all matching ranges are processed. Signed-off-by: Ming Lei <tom.leiming@gmail.com> Link: https://patch.msgid.link/20260423033058.2805135-4-tom.leiming@gmail.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions