On Wed, 2025-06-04 at 08:51 -0400, Steven Rostedt wrote: > From: Steven Rostedt <rost...@goodmis.org> > > When CONFIG_SHMEM is not set, the following compiler error occurs: > > ld: vmlinux.o: in function `ttm_backup_backup_page': > (.text+0x10363bc): undefined reference to `shmem_writeout' > make[3]: *** > [/work/build/trace/nobackup/linux.git/scripts/Makefile.vmlinux:91: > vmlinux.unstripped] Error 1 > make[2]: *** [/work/build/trace/nobackup/linux.git/Makefile:1241: > vmlinux] Error 2 > make[1]: *** [/work/build/trace/nobackup/linux.git/Makefile:248: > __sub-make] Error 2 > make[1]: Leaving directory '/work/build/nobackup/tracetest' > make: *** [Makefile:248: __sub-make] Error 2 > > This is due to the replacement of writepage and calling > swap_writeout() > and shmem_writeout() directly. The issue is that when CONFIG_SHMEM is > not > defined, shmem_writeout() is also not defined. > > The function ttm_backup_backup_page() called mapping->a_ops- > >writepage() > which was then changed to call shmem_writeout() directly. > > Even before commit 84798514db50 ("mm: Remove swap_writepage() and > shmem_writepage()"), it didn't make sense to call anything other than > shmem_writeout() as the ttm_backup deals only with shmem folios. > > Have DRM_TTM config option select SHMEM to guarantee that > shmem_writeout() > is available. > > Link: > https://lore.kernel.org/all/20250602170500.48713...@gandalf.local.home/ > > Suggested-by: Hugh Dickins <hu...@google.com> > Fixes: 84798514db50 ("mm: Remove swap_writepage() and > shmem_writepage()") > Signed-off-by: Steven Rostedt (Google) <rost...@goodmis.org> > --- > Changes since v1: > https://lore.kernel.org/all/20250602170500.48713...@gandalf.local.home/ > > - Instead of adding a shmem_writeout() stub, just make CONFIG_DRM_TTM > select CONFIG_SHMEM (Hugh Dickins) > > drivers/gpu/drm/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig > index f094797f3b2b..ded28c71d89c 100644 > --- a/drivers/gpu/drm/Kconfig > +++ b/drivers/gpu/drm/Kconfig > @@ -188,6 +188,7 @@ source "drivers/gpu/drm/display/Kconfig" > config DRM_TTM > tristate > depends on DRM && MMU > + select SHMEM > help > GPU memory management subsystem for devices with multiple > GPU memory types. Will be enabled automatically if a > device driver
Reviewed-by: Thomas Hellström <thomas.hellst...@linux.intel.com> Thanks, Thomas