[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ad7be352-1ec2-4dd9-91a1-819c4af7746d@intel.com>
Date: Mon, 16 Jun 2025 08:03:03 -0700
From: Dave Hansen <dave.hansen@...el.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Ankur Arora <ankur.a.arora@...cle.com>, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, x86@...nel.org, akpm@...ux-foundation.org, bp@...en8.de,
dave.hansen@...ux.intel.com, hpa@...or.com, mingo@...hat.com,
mjguzik@...il.com, luto@...nel.org, acme@...nel.org, namhyung@...nel.org,
tglx@...utronix.de, willy@...radead.org, jon.grimm@....com, bharata@....com,
raghavendra.kt@....com, boris.ostrovsky@...cle.com, konrad.wilk@...cle.com
Subject: Re: [PATCH v4 13/13] x86/folio_zero_user: Add multi-page clearing
On 6/16/25 07:50, Peter Zijlstra wrote:
> On Mon, Jun 16, 2025 at 07:44:13AM -0700, Dave Hansen wrote:
>> To me, that's deserving of an ARCH_HAS_FOO bit that we can set on the
>> x86 side that then cajoles the core mm/ code to use the fancy new
>> clear_pages_resched() implementation.
> Note that we should only set this bit with either full or lazy
> preemption selected. Haven't checked the patch-set to see if that
> constraint is already taken care of.
There is a check in the C code for preempt_model_preemptible(). So as
long as there was something like:
config SOMETHING_PAGE_CLEARING
def_bool y
depends on ARCH_HAS_WHATEVER_PAGE_CLEARING
depends on !HIGHMEM
Then the check for HIGHMEM and the specific architecture support could
be along the lines of:
static void clear_pages_resched(void *addr, int npages)
{
int i, remaining;
if (!IS_ENABLED(SOMETHING_PAGE_CLEARING) ||
preempt_model_preemptible()) {
clear_pages(addr, npages);
goto out;
}
... which would also remove the #ifdef CONFIG_HIGHMEM in there now.
Powered by blists - more mailing lists