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


Reply via email to