Re: [PATCH v2] mm: cleaning per architecture MM hook header files

From: Laurent Dufour
Date: Fri Jul 10 2015 - 08:57:39 EST


On 10/07/2015 01:09, Andrew Morton wrote:
> On Wed, 1 Jul 2015 12:17:33 +0200 Laurent Dufour <ldufour@xxxxxxxxxxxxxxxxxx> wrote:
>
>> The commit 2ae416b142b6 ("mm: new mm hook framework") introduced an empty
>> header file (mm-arch-hooks.h) for every architecture, even those which
>> doesn't need to define mm hooks.
>>
>> As suggested by Geert Uytterhoeven, this could be cleaned through the use
>> of a generic header file included via each per architecture
>> asm/include/Kbuild file.
>>
>> The PowerPC architecture is not impacted here since this architecture has
>> to defined the arch_remap MM hook.
>
> So the way this works is that if an arch wants to override a hook, it
> will remove the "generic-y += mm-arch-hooks.h" and add
> arch/XXX/include/asm/mm-arch-hooks.h, yes?
>
> And the new arch/XXX/include/asm/mm-arch-hooks.h only needs to define
> the hook(s) which the arch wants to override?

Yes that's the way it should work.

> So nothing will ever be added to include/asm-generic/mm-arch-hooks.h?

This file is the fallback one when no hooks is defined. It is here for
the compiler happiness, and should be kept empty.

> Seems fair enough.
>
> Oleg is angling to remove arch_remap(), so there won't be anything left
> in these files! But there are plenty of ad-hoc things which *should*
> be moved over.

I'll try to move some hooks there as soon as I've so free time.

>
>> Changes in V2:
>> --------------
>> - Vineet Gupta reported that the Kbuild files should be kept sorted.
>
> Yes, we do this to avoid patch collisions. Everyone always adds stuff
> to the end of the list (Makefiles, #includes, etc etc), thus carefully
> maximizing the number of patch collisions :(

This makes sense.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/