Re: [RFC PATCH] powerpc: Make SPU_FS depend on SPARSEMEM

From: Geert Uytterhoeven
Date: Wed Aug 20 2014 - 03:49:33 EST


Hi Pranith,

On Tue, Aug 19, 2014 at 11:16 PM, Pranith Kumar <bobby.prani@xxxxxxxxx> wrote:
> SPU_FS unconditionally enables MEMORY_HOTPLUG, which will fail to build if
> SPARSEMEM=n.
>
> Make SPU_FS depend on SPARSEMEM so that hotplug-memory.c does not fail to
> compile.
>
> Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx>
> ---
> arch/powerpc/platforms/cell/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/platforms/cell/Kconfig b/arch/powerpc/platforms/cell/Kconfig
> index 9978f59..832872e 100644
> --- a/arch/powerpc/platforms/cell/Kconfig
> +++ b/arch/powerpc/platforms/cell/Kconfig
> @@ -60,7 +60,7 @@ menu "Cell Broadband Engine options"
> config SPU_FS
> tristate "SPU file system"
> default m
> - depends on PPC_CELL
> + depends on PPC_CELL && SPARSEMEM
> select SPU_BASE
> select MEMORY_HOTPLUG
> help
> --
> 1.9.1

Is this a randconfig kernel?

config ARCH_SPARSEMEM_DEFAULT
def_bool y
depends on (SMP && PPC_PSERIES) || PPC_PS3

Why is this not enabled? !SMP? !PPC_PSERIES? !PPC_PS3?

If PPC_CELL is enabled, this issue was introduced by

commit 78bde53e351bc89cff85d1c2c7e6d7c2ffdf120d
Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Date: Tue Feb 13 11:46:06 2007 +1100

[POWERPC] spufs: remove need for struct page for SPEs

This patch removes the need for struct page for SPE local store
and registers from spufs. It also makes the locking much more
obvious and no longer relying on the truncate logic black magic
for protecting against races between unmap_mapping_range() and
new pages faulted in. It does so by switching to a nopfn() handler
and using the new vm_insert_pfn() to setup the PTEs itself while
holding a lock on the SPE.

The nice thing is that this patch actually removes a lot more code
than it adds :-)

Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>


Another question: why does SPU_FS select MEMORY_HOTPLUG?

commit 4da30d15b6d5036b0d96422d6946ca758111fae3
Author: Geoff Levand <geoffrey.levand@xxxxxxxxxxx>
Date: Fri Jun 23 20:57:49 2006 +0200

[POWERPC] spufs: fix memory hotplug dependency

spufs_base.c calls __add_pages, which depends on CONFIG_MEMORY_HOTPLUG.

Moved the selection of CONFIG_MEMORY_HOTPLUG from CONFIG_SPUFS_MMAP
to CONFIG_SPU_FS.

Signed-off-by: Geoff Levand <geoffrey.levand@xxxxxxxxxxx>
Signed-off-by: Arnd Bergmann <arnd.bergmann@xxxxxxxxxx>
Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx>

However, the call to __add_pages() has been moved a few times afterwards,
to be finally removed in the aforementioned commit
78bde53e351bc89cff85d1c2c7e6d7c2ffdf120d.

Does it still build/work if you just drop the "select MEMORY_HOTPLUG"?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
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/