From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 486B0C5B549 for ; Wed, 4 Jun 2025 12:50:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C496F6B0308; Wed, 4 Jun 2025 08:50:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C20E46B030A; Wed, 4 Jun 2025 08:50:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B36916B030C; Wed, 4 Jun 2025 08:50:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 952B06B0308 for ; Wed, 4 Jun 2025 08:50:10 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 05AD8C14AF for ; Wed, 4 Jun 2025 12:50:10 +0000 (UTC) X-FDA: 83517700980.26.40E6DDD Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf17.hostedemail.com (Postfix) with ESMTP id 72BC94000A for ; Wed, 4 Jun 2025 12:50:08 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=none; spf=pass (imf17.hostedemail.com: domain of "SRS0=y5mL=YT=goodmis.org=rostedt@kernel.org" designates 172.105.4.254 as permitted sender) smtp.mailfrom="SRS0=y5mL=YT=goodmis.org=rostedt@kernel.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749041408; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references; bh=4pnqMY6vZ/KTE4a8JWGOiL2lamnhVn+8fls4hQTfG2E=; b=kG7Hk+s/KUKSaoguae0rAQewhDM8a3IdmUlm1ioUeUbXW1Eb0Vq8ZjxSPyofnceyIZJw13 BCAEENV+rbSf/y82/GcK0a2wy0cv/LJf1pCDW22ABHPEbljan0sCFW44QrORp1/tbS9ya/ dymTNQ8zMy2RK0qj+E6bXTvfzWF/Qyc= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=none; spf=pass (imf17.hostedemail.com: domain of "SRS0=y5mL=YT=goodmis.org=rostedt@kernel.org" designates 172.105.4.254 as permitted sender) smtp.mailfrom="SRS0=y5mL=YT=goodmis.org=rostedt@kernel.org"; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749041408; a=rsa-sha256; cv=none; b=IXWx/eufgEOEcd5TVfSLLqC5i5v3pL2/SuLSq549sIMVWBJxX3nYEbPXAMZQCssW27BctY AcAChCDZy6Fhp53dCb97bh1ogOSefOv5Sx4SqnsySpjFySKw7irsUT0m6mW0x1RbnyVdQf JBL2tH7cJvhmu8Lwi1GdKl+a1h2eTi4= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id A06916112A; Wed, 4 Jun 2025 12:50:07 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7D820C4CEE7; Wed, 4 Jun 2025 12:50:05 +0000 (UTC) Date: Wed, 4 Jun 2025 08:51:21 -0400 From: Steven Rostedt To: LKML Cc: Thomas =?UTF-8?B?SGVsbHN0csO2bQ==?= , Linus Torvalds , Matthew Wilcox , LKML , linux-mm@kvack.org, Andrew Morton , Christian Koenig , Huang Rui , Matthew Auld , Matthew Brost , dri-devel@lists.freedesktop.org, Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Subject: [PATCH v2] drm/ttm: Fix compile error when CONFIG_SHMEM is not set Message-ID: <20250604085121.324be8c1@gandalf.local.home> X-Mailer: Claws Mail 3.20.0git84 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 72BC94000A X-Stat-Signature: ywucfwmeh4agm3py3xhhcj5d5tspg8oj X-Rspam-User: X-HE-Tag: 1749041408-555581 X-HE-Meta: U2FsdGVkX1/XeA42IqqsgD+Y44yUAmJodwsRY2vNFeO6qfPPTVLlESqJVZWdcMNk30M6E+KQLB8Neggz/ndRaVl8tMRI5miDwT9s0xRsZ68cuedAUcya0dxyek+WvdVX1V930JGsMCOye/eJjQ8YNOG4gD9dcPsDvedmlHKBOB2zoz/K+XsDBgArTYlb+aii0LNnJrf7T69FepoDdTLgINO/5a1+F4h1fsroW4TMGavPFenXAhPbO6XdMCKrHpg0LOLMEZbKBSblLX5OYFDczU2+OChxvGp7mqHHfODeZAl5jRcxdSFUkVo9K5Pd1tsbt2ju6oDvjJgrt1v1nsRR9oOqBuMfa31YL3+YDgTTlD4cmXvnFCh0V1VuQq1blgRVTKmn4k6wI9Uqqcb8Tg8FKvKCtEMP9zsTqDL6ZRj9fx0Tw3pjf8n0F5gT3OkACmKdm/zrD5gVKMBItWCZhiijt7l5cHd9ASmVBhXjeSou5TVWwhZN6TD8lQi8iGeJQW/z8M0ZlFxf1GuuBc0Xg/zPBqULg6lBvtA8TC/Y83k7+68ok1qCZ7lhsF82L5FZanq9tRExK0+zPieKEmjm7/jr3OhQ/qQler44znqzvQgDpk6yvWJT5LXJoHh723iToGr0//MIdlxibaGDGKWrsXBLTim38eFKZyDUcbcIf3mn898Yv0wtKQJ0oXjqDZTcJACeYgIgW+HOMDtGxtRSC/XlkgnY5hFL5PSlPJLTXFk1R/Mrt+x7y/G63nPBP6Y6CKtBAVXDF9sFMyZqgPadEHHMer4UC5oTDDNsis6HQtmUuh8CRqqNlQAyCpilNMLrgWPAjxoiQm3mkZcTGbroEeKW3NxewZbsUQV5g674uBvCMZFCEfws5l8Ze/GCSEirwIw9FPaV+2SV9mFZiUDzC6liMOodNswHJAkrCcrv97yi0ZgfZ2UmkG/pCIc02Pqcie4e2Cj1TKZLsDrYE67bBYU XY+/yhOI PMPC8kBaGwOm5htQibuzC63EhWAq7l/WdSR9mEOeJafRZWEX4SZm7lI/J+zsf26ecE3gUI6xy3XS1Uugl/ZEyZFFquOlcb6m7pL/X00vE0KI6LK0DtCHeGZWZYm7uEfEoUxQnF14XTKGCg8u7EXZXB7eYX9qBeofgkmkve5bYDPM26MNOUParjcMloyiu6vqt7tZTjuqQk2PwgUryt0vVqmg/LeW1FjKl81N4Yu0Ca6isq1J/iDnakU3kwHTUTZ+kt9pcK8DHxj7ZlM5yqXGSnDFbTAKgvieOTipaqDph4Hh63OzEX1Rg920XQ/7qeT5MOzO9Ye7pIPWKn7P0ZkXf0Jqz8Jl1TmVBt4IS9oAkKiq6zZMKsRBve9rRvm0MhLaDPa8xxGJNxi3+mBIle0SqpSIKHQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Steven Rostedt 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.48713a2b@gandalf.local.home/ Suggested-by: Hugh Dickins Fixes: 84798514db50 ("mm: Remove swap_writepage() and shmem_writepage()") Signed-off-by: Steven Rostedt (Google) --- Changes since v1: https://lore.kernel.org/all/20250602170500.48713a2b@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 -- 2.47.2