[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c76598b5-2d60-ea22-d590-4cc6998a8830@csgroup.eu>
Date: Tue, 14 Jun 2022 09:26:04 +0200
From: Christophe Leroy <christophe.leroy@...roup.eu>
To: Wenhu Wang <wenhu.wang@...mail.com>,
Greg KH <gregkh@...uxfoundation.org>
Cc: "mpe@...erman.id.au" <mpe@...erman.id.au>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: 回复: [PATCH 2/2] uio:powerpc:mpc85xx: l2-cache-sram uio driver implementation
Le 14/06/2022 à 09:18, Christophe Leroy a écrit :
>
>
> Le 14/06/2022 à 08:09, Wenhu Wang a écrit :
>>>> +static const struct vm_operations_struct uio_cache_sram_vm_ops = {
>>>> +#ifdef CONFIG_HAVE_IOREMAP_PROT
>>>
>>> Same here.
>>>
>>
>> I tried to eliminate it in mainline
>> See: [PATCH v2] mm: eliminate ifdef of HAVE_IOREMAP_PROT in .c files
>> https://lkml.org/lkml/2022/6/10/695
>>
>
> I looked at that patch.
>
> I don't think you can just drop the #ifdef in function
> __access_remote_vm() in mm/memory.c
>
> You have to replace it with something like:
>
> if (!IS_ENABLED(CONFIG_HAVE_IOREMAP_PROT))
> break;
>
Another thing in that patch:
By making generic_access_phys() a static inline, it means that everytime
you refer to the address of that function in a vm_operations_struct
struct, the compiler has to provide an outlined instance of the
function. It means you'll likely have several instances of a
generic_access_phys().
What you could do instead is to add the following at the start of
generic_access_phys() in mm/memory.c :
if (!IS_ENABLED(CONFIG_HAVE_IOREMAP_PROT))
return 0;
Powered by blists - more mailing lists