Re: [PATCH v4 2/5] powerpc/mm/slice: Enhance for supporting PPC32

From: Aneesh Kumar K.V
Date: Sun Feb 11 2018 - 10:34:58 EST




On 02/11/2018 07:29 PM, Nicholas Piggin wrote:
On Sat, 10 Feb 2018 13:54:27 +0100 (CET)
Christophe Leroy <christophe.leroy@xxxxxx> wrote:

In preparation for the following patch which will fix an issue on
the 8xx by re-using the 'slices', this patch enhances the
'slices' implementation to support 32 bits CPUs.

On PPC32, the address space is limited to 4Gbytes, hence only the low
slices will be used.

This patch moves "slices" functions prototypes from page64.h to slice.h

The high slices use bitmaps. As bitmap functions are not prepared to
handling bitmaps of size 0, the bitmap_xxx() calls are wrapped into
slice_bitmap_xxx() functions which will void on PPC32

On this last point, I think it would be better to put these with the
existing slice bitmap functions in slice.c and just have a few #ifdefs
for SLICE_NUM_HIGH == 0.


We went back and forth with that. IMHO, we should avoid as much #ifdef as possible across platforms. It helps to understand the platform restrictions better as we have less and less access to these platforms. The above change indicates that nohash 32 wants to use the slice code and they have different restrictions. With that we now know that book3s64 and nohash 32 are the two different configs using slice code.

-aneesh