Re: 回复: [PATCH 2/2] uio:powerpc:mpc85xx: l2-cache-sram uio driver implementation

Christophe Leroy christophe.leroy at csgroup.eu
Tue Jun 14 17:26:04 AEST 2022



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;


More information about the Linuxppc-dev mailing list