summaryrefslogtreecommitdiffstats
path: root/lib/crc8.c
diff options
context:
space:
mode:
authorAlistair Popple <apopple@nvidia.com>2022-09-28 14:01:21 +0200
committerAndrew Morton <akpm@linux-foundation.org>2022-10-13 03:51:50 +0200
commit249881232e1471d28b68f9a3829acc14d150cf5d (patch)
treeee662cc138106e06323c0f01658f86178bb9dfb3 /lib/crc8.c
parentnouveau/dmem: refactor nouveau_dmem_fault_copy_one() (diff)
downloadlinux-249881232e1471d28b68f9a3829acc14d150cf5d.tar.xz
linux-249881232e1471d28b68f9a3829acc14d150cf5d.zip
nouveau/dmem: evict device private memory during release
When the module is unloaded or a GPU is unbound from the module it is possible for device private pages to still be mapped in currently running processes. This can lead to a hangs and RCU stall warnings when unbinding the device as memunmap_pages() will wait in an uninterruptible state until all device pages have been freed which may never happen. Fix this by migrating device mappings back to normal CPU memory prior to freeing the GPU memory chunks and associated device private pages. Link: https://lkml.kernel.org/r/66277601fb8fda9af408b33da9887192bf895bda.1664366292.git-series.apopple@nvidia.com Signed-off-by: Alistair Popple <apopple@nvidia.com> Cc: Lyude Paul <lyude@redhat.com> Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Ralph Campbell <rcampbell@nvidia.com> Cc: John Hubbard <jhubbard@nvidia.com> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: Alex Sierra <alex.sierra@amd.com> Cc: Christian König <christian.koenig@amd.com> Cc: Dan Williams <dan.j.williams@intel.com> Cc: David Hildenbrand <david@redhat.com> Cc: Felix Kuehling <Felix.Kuehling@amd.com> Cc: "Huang, Ying" <ying.huang@intel.com> Cc: Jason Gunthorpe <jgg@nvidia.com> Cc: Matthew Wilcox <willy@infradead.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Yang Shi <shy828301@gmail.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'lib/crc8.c')
0 files changed, 0 insertions, 0 deletions