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 1FA1FC5AE59 for ; Tue, 3 Jun 2025 08:02:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 947EA6B03D1; Tue, 3 Jun 2025 04:02:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F8E26B03D2; Tue, 3 Jun 2025 04:02:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 822D56B03D3; Tue, 3 Jun 2025 04:02:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 4A5AC6B03D1 for ; Tue, 3 Jun 2025 04:02:52 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E25DA1609A4 for ; Tue, 3 Jun 2025 08:02:51 +0000 (UTC) X-FDA: 83513348142.02.3AE5B3F Received: from mail-ot1-f46.google.com (mail-ot1-f46.google.com [209.85.210.46]) by imf28.hostedemail.com (Postfix) with ESMTP id 1A13DC0003 for ; Tue, 3 Jun 2025 08:02:49 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=K7sVng1M; spf=pass (imf28.hostedemail.com: domain of hughd@google.com designates 209.85.210.46 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748937770; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=/HLBYGlpww/+1MzmEKDqq4eaV65jEM2T+DRCw/0ZE+4=; b=1+4nNwYAJo7sLLlc76GHdiltchnspLUwTC2u3XfRMoPcELB7EQOpFVQ4tRzx3x/zXS0HjQ 0poAZOCityk7E8iIDPM2yoOQTyD8xdx+IT3IeIt+Ev/a7tTX5c4O+1XjlMFVyF0hXBMhnM 2EKgIPOv1xJLsIqBeUhyl38WyqnJDBo= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=K7sVng1M; spf=pass (imf28.hostedemail.com: domain of hughd@google.com designates 209.85.210.46 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748937770; a=rsa-sha256; cv=none; b=5FNGwl8ePSr4a2cXtxh/ZuAjHjad3ceaGdc33vxqwvmAOFv1+S/1PfKsiX7T+rJu0PC+U+ KNUBo4iyTPTdpqTx5V5+HpZNLGMH4/uino0Ebhaa298AIWbbqQKyXZwETpewC5ls3vt+/O WN3m1L6FXC9rJsNFGh06x11HuvAhauY= Received: by mail-ot1-f46.google.com with SMTP id 46e09a7af769-72bd5f25ea6so1271497a34.1 for ; Tue, 03 Jun 2025 01:02:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1748937769; x=1749542569; darn=kvack.org; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=/HLBYGlpww/+1MzmEKDqq4eaV65jEM2T+DRCw/0ZE+4=; b=K7sVng1MsBTloBDUYYg9yYqwDchqE7jH7R73OIr2J5dBPMHWEVkuN7V6qOsmo7pls+ aWi2YW6eqDwIE5nnqxGO7F3q5Wv0t7xQvtNtFCGgGFRHN7/UvKj/UPcS2HSRXLkUoqPp h0AwJrXgXU/eKKvvcJFAGLWjHoJLBzxjKlT7hvT2MME4SdMh4kpgxPIEa68ph38y6ivc jq9wv3WYhASTlNslpS83fNlCnHih29RL7l/iq2n2hweY8MZqqqfZqaYe7ZVbh6j7bFBU 7wmCFlhUq9nDUVXT+wLqdblfozn2I4xXRk563TXkh480+kh970rMoBt6W7Pr+br5sXqS EegA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748937769; x=1749542569; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=/HLBYGlpww/+1MzmEKDqq4eaV65jEM2T+DRCw/0ZE+4=; b=DD4R74dpSkqoVijsGrR2D95NzQfLIQF9yXAn2zzP4lijiCzJyryqcGzQaGrsvbJXrq NSX35m2OewzcCx8gbuV2ghZku96T4nJ1HJ8vQMlFw55NOT9NmGbZLD3e+OanDAG96tow 9IrHH+YrRYpAZogHx/EInTfuSjGEq/ArXCAAW8b4C2QMlRunxdIG5qHLgm47xLRnVxVI Hzjysm2vH8k/3/uQxG+wMo+akNg5TV//VD4peRFcsBnBTWX+4PrHFgA4fpZ51jKrvcnq BqEAidUMDZXYb/8HvXJMyneZ1XGOltwNqs1vGgf/+u0bYVAxx8gwnqLa1xsKz/YYogq3 RofQ== X-Forwarded-Encrypted: i=1; AJvYcCV1AEbqrvJK88pg/ny7oguK7oCPdzdpaGHN1IZ/UXcGlNZNVIMLQ0skU2fXYXyCjGnf1mLgV/mQ+g==@kvack.org X-Gm-Message-State: AOJu0YxvNknaWvZxcM1rQMoebjqmKS6hkexk+cG89Qk6ImegNhdDNNJL 0Lz5p67Pw7aVL6SahyN6O/yfnartV9EeJPEYMX3egWkonVetpS7ftQ6nnWTJUxIczg== X-Gm-Gg: ASbGncth8ncIqF0Zk21FUn5MyMZ0nFEhCT8RtbyAglE9S0Yn2Zoq2B6+g/pR/vT6f7o Xaf0qnky0FiRTOx08x3ngD0cdAELlp9IGLp8yc8tBl5ldDoLGPNn5y0/L7/7X5NtixBBqdVNNmO yyHVuMR4Hybe4c8C4V6FbPrVXwqsiCioQZDpNcXwWqj/USLSBeksmusvWnwlBsHrMzXiPQZXH7J 4otijhpv7Ky+CYPbidsr0k5rYw37TK7/VQ3R4x3Ik1hfU/SDo50oHAioQdoha6q8B+tIsCM36Ob dmDImCYOHErVjp9SS9+8HG+UYW7/aPL888PFy9DnY4D2rx4vz+Q+M2byQSKHoB0o9SKPoraX/n3 IYfARN8H0okC9+4lDhmnLHrW+6MRnz/nWpjmTLW7nUu7VKQ== X-Google-Smtp-Source: AGHT+IEf/pvdRCc0yPxQTyamCWZqTN07/uE+fxpl7sTiXcCkaFOeFqsFX5EIoAjgjN+C0geyBSZbqw== X-Received: by 2002:a05:6830:a8f:b0:734:f5e2:8cbc with SMTP id 46e09a7af769-736ece491c2mr9433737a34.18.1748937768868; Tue, 03 Jun 2025 01:02:48 -0700 (PDT) Received: from darker.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-735af9ef459sm1805058a34.61.2025.06.03.01.02.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 01:02:47 -0700 (PDT) Date: Tue, 3 Jun 2025 01:02:36 -0700 (PDT) From: Hugh Dickins To: Matthew Wilcox cc: Steven Rostedt , LKML , linux-mm@kvack.org, Hugh Dickins , Andrew Morton , Linus Torvalds Subject: Re: [PATCH] mm: Fix compile error when CONFIG_SHMEM is not set In-Reply-To: Message-ID: References: <20250602170500.48713a2b@gandalf.local.home> <20250602171458.7ceabb1c@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Stat-Signature: 7kypnj6e54z8jnrhk9uwbqfxpsxad5mb X-Rspamd-Queue-Id: 1A13DC0003 X-Rspam-User: X-Rspamd-Server: rspam02 X-HE-Tag: 1748937769-97440 X-HE-Meta: U2FsdGVkX1/J1vb9yo6FFKDpaoKSBfrZhzuvD16yKADmlFpjg6cOCCC1kgWfQ7Vmi7Z+YnBSo0l+x9rinq0TbRK29/z1Z0f5hikYuRmLjjbfj4UxXQLd2RJ2d4mblerveMjV6yTjm15G3cEKUW/etXWemmcnnHewS7ixTPfS5fuVSSGiVppuyMwfMimVuWjL0jz2oSV2m+02iuGnLkflm+KODaLo2mUiqnIcpWo3PZpMSKXF6ZtzpjMneG4F6K8iDof47WdsOgYYRXYOE0unyM90JWN/uehtebrbrP7MpKDazBiBYfMCLMF3QZwvKrum1ciODx2iE/jetN6J1Is/RfnQh6sHPBdcsOA+3xm5O7Owu/QW3oASczvPrCjuxLnY60yRZxFaCoLwrATPPMRMMu5QuNr1Kv13cbFj/RnDd+ygeGx2uWEq80lAXdU+rX6JrJWx2m0rGpr+Kgj0z0R3vonqqbIB8s49oRXPKVSlEPVYJGCqNjbn0AqrgH50TBvDtVukBHRsdbrkKkDmUG0LP5+C/hiD1NpJJza7TihyE4HhVxs0Oqn6+1qGqIA58jP0VqxAIRKBHdcHZS2kG5I4F1qru6KqoZ4z13Ls9p2kuJFko5SzxadYbILX67Le/dwu3sZebraD7iUx6LA7vWbmdrNijFTvnK7BJc9eiUFAVnGiE4FMeydYoZdV4cVg/HKRHIb83p4EVVzGBdPzubipWPjLc/h05TMCexB6LFviaMuze495CT39Q5i2Zt17MNPKaKvzHncCvANbnArAmDm04/f5gGxWa1gSb3ONiZ1HnqUDIq7cKViSUHO71bW7x+L66hhmUaK15i2K3luZvNaqqaT4PsBbyq/8aPxSLnFRYAeQ4sp3XrnLrOCQYzOIl/9pTOWI7H1QfcxVhMZklQkhC/545i2KAqGsQzkhUQvIj0+KZhuG0W3qQtj1KUHazd2tqgNNnrZd4ufav/6wEPP WJhfG4z8 Bw83/bSc60CJAuBsKjt1r9mKf/UsQI3URUiYfhsMQWifESWyALORW7ZycUdwlTvpMeBoNeoef8iw+nRc20QL3LYqWdVm9D1ApWoIHrt0/cuZ2HEZA7eFA1Qj9cxe35zl4G5OxYEaH8drESS4WLnjHSb2frjyU1slwxb7K6D28TlJE3EF5Iv2g94ZiUFNlfpk1PRr1lJFRXPtx4pWF0T3aPlMnLeL/DO4JBAAYsEwzDhmQibeQ+NNAHjMvlL57MgRm564sFad86ZUPRtcBbbKjLgrgkozes/Bz9KBBdwBjT/aA5J551cTxXp5lBUDq7eSvpQDbCrbVDP//yTQOk4iH0tSi+2aphi1K7PmYXWmBa8zSsG6U2GquMcpv2UEdCo+dxTN3l46PHeMAWIAVbqwPFD9S/mWI0XAvLbXh8R6CsxupIFEKRjKAQDaZmbfPUwacRQePuiI2rcB9H3Up9CS71JkpKg== 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: On Mon, 2 Jun 2025, Matthew Wilcox wrote: > On Mon, Jun 02, 2025 at 05:14:58PM -0400, Steven Rostedt wrote: > > On Mon, 2 Jun 2025 17:05:00 -0400 > > Steven Rostedt wrote: > > > > > From: Steven Rostedt > > > > > > When CONFIG_SHMEM is not set, the following compiler error occurs: > > > > > > ld: vmlinux.o: in function `ttm_backup_backup_page': > > > > I'm not sure this is the right fix or not. > > > > +int shmem_writeout(struct folio *folio, struct writeback_control *wbc) > > > +{ > > > + return 0; > > > > Perhaps this should return: > > > > return swap_writeout(folio, wbc); > > I don't think so. ttm_backup_backup_page() gets its page from: > > to_folio = shmem_read_folio_gfp(mapping, idx, alloc_gfp); > ... > ret = shmem_writeout(to_folio, &wbc); > > and if you look at the implementation of shmem_read_folio_gfp() does: > > #else > /* > * The tiny !SHMEM case uses ramfs without swap > */ > return mapping_read_folio_gfp(mapping, index, gfp); > #endif > > so I would say that if anybody is actually using it this way (and 99% > chance they're not), they literally cannot write back the folio. So > I think your initial patch is fine. Agreed that ramfs does not use swap, so calling swap_writepage() would be weird. But, thanks for the build fix Steve, but it cannot be right because return 0 says shmem_writeout() successfully sent the page to swap, and that has unlocked the page (or soon will do so). It should return an error (-ENXIO?), but I haven't checked what the callers do with that, nor whether they need the folio to be redirtied. And wouldn't it need an EXPORT like the real one? Sorry, can't keep up, there are many many things I should have looked at but have not... Tomorrow? Hugh