aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
diff options
context:
space:
mode:
authorDavidlohr Bueso <[email protected]>2025-04-18 01:59:21 +0000
committerChristian Brauner <[email protected]>2025-04-22 16:16:08 +0000
commit2d900efff915fe24c3948d28eef9078953d87fec (patch)
tree1ec506089a27903c16eb743dcd238290518261ea /drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
parentfs/ext4: use sleeping version of sb_find_get_block() (diff)
downloadkernel-2d900efff915fe24c3948d28eef9078953d87fec.tar.gz
kernel-2d900efff915fe24c3948d28eef9078953d87fec.zip
mm/migrate: fix sleep in atomic for large folios and buffer heads
The large folio + buffer head noref migration scenarios are being naughty and blocking while holding a spinlock. As a consequence of the pagecache lookup path taking the folio lock this serializes against migration paths, so they can wait for each other. For the private_lock atomic case, a new BH_Migrate flag is introduced which enables the lookup to bail. This allows the critical region of the private_lock on the migration path to be reduced to the way it was before ebdf4de5642fb6 ("mm: migrate: fix reference check race between __find_get_block() and migration"), that is covering the count checks. The scope is always noref migration. Reported-by: kernel test robot <[email protected]> Reported-by: [email protected] Closes: https://lore.kernel.org/oe-lkp/[email protected] Fixes: 3c20917120ce61 ("block/bdev: enable large folio support for large logical block sizes") Reviewed-by: Jan Kara <[email protected]> Co-developed-by: Luis Chamberlain <[email protected]> Signed-off-by: Davidlohr Bueso <[email protected]> Link: https://kdevops.org/ext4/v6.15-rc2.html # [0] Link: https://lore.kernel.org/all/[email protected]/ # [1] Link: https://lore.kernel.org/[email protected] Tested-by: [email protected] # [0] [1] Reviewed-by: Luis Chamberlain <[email protected]> Signed-off-by: Christian Brauner <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.c')
0 files changed, 0 insertions, 0 deletions