Re: [patch 1/2] x86: track memtype for RAM in page struct

From: Ingo Molnar
Date: Sun Sep 14 2008 - 10:22:48 EST



* Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

> > it should be defined in include/asm-x86/page.h though, not in
> > page-flags.h - other architectures are using this flag for other
> > purposes.
>
> No, other shared-use flags are all defined in page-flags.h:
>
> enum pageflags {
> [...]
> __NR_PAGEFLAGS,
>
> /* Filesystems */
> PG_checked = PG_owner_priv_1,
>
> /* XEN */
> PG_pinned = PG_owner_priv_1,
> PG_savepinned = PG_dirty,
>
> /* SLOB */
> PG_slob_page = PG_active,
> PG_slob_free = PG_private,
>
> /* SLUB */
> PG_slub_frozen = PG_active,
> PG_slub_debug = PG_error,
> };
>
>
> We could #ifdef CONFIG_X86 just to make it clear we're talking about a
> specific X86 usage. But page-flags.h does seem to have become the
> central authority on all struct page flags usage.

well, in case of the PG_arch_* flags, they are all defined in
architecture files:

./include/asm-parisc/pgtable.h:#define PG_dcache_dirty PG_arch_1
./include/asm-mips/cacheflush.h:#define PG_dcache_dirty PG_arch_1
./arch/sparc64/mm/init.c:#define PG_dcache_dirty PG_arch_1
./arch/sh/include/cpu-sh4/cpu/cacheflush.h:#define PG_mapped PG_arch_1
./arch/sh/include/cpu-sh3/cpu/cacheflush.h:#define PG_mapped PG_arch_1
./arch/arm/include/asm/cacheflush.h:#define PG_dcache_dirty PG_arch_1

they are explicitly reserved for per architecture details.

Ingo
--
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/