Re: [PATCH v3 4/7] x86/mm: Introduce _set_memory_prot()

From: Logan Gunthorpe
Date: Mon Mar 02 2020 - 13:47:28 EST




On 2020-02-29 3:33 p.m., Dan Williams wrote:
> On Fri, Feb 21, 2020 at 10:25 AM Logan Gunthorpe <logang@xxxxxxxxxxxx> wrote:
>>
>> For use in the 32bit arch_add_memory() to set the pgprot type of the
>> memory to add.
>>
>> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
>> Cc: Borislav Petkov <bp@xxxxxxxxx>
>> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
>> Cc: x86@xxxxxxxxxx
>> Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
>> Cc: Andy Lutomirski <luto@xxxxxxxxxx>
>> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
>> Signed-off-by: Logan Gunthorpe <logang@xxxxxxxxxxxx>
>> ---
>> arch/x86/include/asm/set_memory.h | 1 +
>> arch/x86/mm/pat/set_memory.c | 7 +++++++
>> 2 files changed, 8 insertions(+)
>>
>> diff --git a/arch/x86/include/asm/set_memory.h b/arch/x86/include/asm/set_memory.h
>> index 64c3dce374e5..0aca959cf9a4 100644
>> --- a/arch/x86/include/asm/set_memory.h
>> +++ b/arch/x86/include/asm/set_memory.h
>> @@ -34,6 +34,7 @@
>> * The caller is required to take care of these.
>> */
>>
>> +int _set_memory_prot(unsigned long addr, int numpages, pgprot_t prot);
>
> I wonder if this should be separated from the naming convention of the
> other routines because this is only an internal helper for code paths
> where the prot was established by an upper layer. For example, I
> expect that the kernel does not want new usages to make the mistake of
> calling:
>
> _set_memory_prot(..., pgprot_writecombine(pgprot))
>
> ...instead of
>
> _set_memory_wc()
>
> I'm thinking just a double underscore rename (__set_memory_prot) and a
> kerneldoc comment for that pointing people to use the direct
> _set_memory_<cachemode> helpers.

Thanks! Will do. Note, though, that even _set_memory_wc() is an internal
x86-specific function. But the extra comment and underscore still make
sense.

> With that you can add:
>
> Reviewed-by: Dan Williams <dan.j.williams@xxxxxxxxx>
>