From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B9E56302CDB for ; Tue, 18 Nov 2025 07:34:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763451264; cv=none; b=NnqhLMhtCJcrtav7wEQwZXF2qnr9klQmTkpQrR4GAqBHaneHiV2tK/uywan4UotjCgb7lILxURnmUkU3HxKODLGFJbCjW487debkBbECJvr7hF1hryfuTp9uW2j7rGydBHr5P6mUoLuTrPBJYfzoHwnzY5FEDYRVx0Z5Tq3H1Hg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763451264; c=relaxed/simple; bh=MhejxPCCrkr8+9cFAa3Ny6Qty78LEmY3PR2g/m9qfdo=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=KnFZJjM+74Cxe1lVDBl13GujWEMPkcPS09pdjdgQR/h2myRrjPShQNyZwQ6KFquDTtS1S8dilyJP3wjaeS8vY5ojUY+8vh7CapDV5C9VOn/LH20cyVjPDJVnpn23gXv+am9CraWrpFzi7Zz8z9FPqRkUurfaFU4j9fhJO4HZfws= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=eb+3yBdM; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="eb+3yBdM" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 81C51C19422; Tue, 18 Nov 2025 07:34:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1763451264; bh=MhejxPCCrkr8+9cFAa3Ny6Qty78LEmY3PR2g/m9qfdo=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=eb+3yBdMlQwNC/MZixhOspKVXfMXpyBUAxpvA5t8yjK2aIGslTnRdGF1LZ4C11+7x oTm7vfLzLZgXE5aW0H430VtEkeZdcKG/9iGg9isGeAaV4QfKOwtqig0ZmW5PhLh5aA 4ZtQhXqlWvowrmYwiFO2eKgwADFMwXvEC2vVluYBLTe5IPGpmI7l/jXIADlMwe3RtF NxSIrj4hFekZCHkiwtovyJsBLjMIkL4Yr52KhDq3cinNYQMPhmTJLtwW6zAn3VFPTx T9lDpiXXgpbrcb/ySyPKjSj6lD4pJ906UFJSjcOkY0+WwIjhY3gPzMDfGL25oSQOuK 1fqMzUKkF5hCQ== Message-ID: <11e86b31-fd8f-44ab-906e-019fde89215c@kernel.org> Date: Tue, 18 Nov 2025 08:34:15 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v8 2/7] mm: introduce clear_pages() and clear_user_pages() To: Ankur Arora , linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org Cc: akpm@linux-foundation.org, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, mingo@redhat.com, mjguzik@gmail.com, luto@kernel.org, peterz@infradead.org, acme@kernel.org, namhyung@kernel.org, tglx@linutronix.de, willy@infradead.org, raghavendra.kt@amd.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com References: <20251027202109.678022-1-ankur.a.arora@oracle.com> <20251027202109.678022-3-ankur.a.arora@oracle.com> From: "David Hildenbrand (Red Hat)" Content-Language: en-US In-Reply-To: <20251027202109.678022-3-ankur.a.arora@oracle.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 27.10.25 21:21, Ankur Arora wrote: > Introduce clear_pages(), to be overridden by architectures that > support more efficient clearing of consecutive pages. > > Also introduce clear_user_pages(), however, we will not expect > this function to be overridden anytime soon. > > We have to place the clear_user_pages() variant that uses > clear_user_page() into mm/util.c for now to work around > macro magic on sparc and m68k. > > Signed-off-by: Ankur Arora > --- > include/linux/mm.h | 41 +++++++++++++++++++++++++++++++++++++++++ > mm/util.c | 13 +++++++++++++ > 2 files changed, 54 insertions(+) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 683168b522b3..ecbcb76df9de 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -3872,6 +3872,26 @@ static inline void clear_page_guard(struct zone *zone, struct page *page, > unsigned int order) {} > #endif /* CONFIG_DEBUG_PAGEALLOC */ > > +#ifndef __HAVE_ARCH_CLEAR_PAGES Also here, let's base it on #ifndef clear_pages and similarly below for clear_user_pages. (sorry for the back-and-forth, it's rather unclear what the best practice is) -- Cheers David