Messages in this thread Patch in this message | | | Date | Wed, 25 May 2011 12:49:52 +0200 | From | Heiko Carstens <> | Subject | Re: [patch 6/6] slab: only define SLAB_CACHE_DMA for CONFIG_ZONE_DMA |
| |
On Tue, May 24, 2011 at 04:53:57PM -0700, David Rientjes wrote: > Only define SLAB_CACHE_DMA support if CONFIG_ZONE_DMA is enabled. This > catches build errors when used on an invalid configuration. > > Signed-off-by: David Rientjes <rientjes@google.com> > --- > include/linux/slab.h | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/include/linux/slab.h b/include/linux/slab.h > --- a/include/linux/slab.h > +++ b/include/linux/slab.h > @@ -20,7 +20,9 @@ > #define SLAB_RED_ZONE 0x00000400UL /* DEBUG: Red zone objs in a cache */ > #define SLAB_POISON 0x00000800UL /* DEBUG: Poison objects */ > #define SLAB_HWCACHE_ALIGN 0x00002000UL /* Align objs on cache lines */ > -#define SLAB_CACHE_DMA 0x00004000UL /* Use GFP_DMA memory */ > +#ifdef CONFIG_ZONE_DMA > +# define SLAB_CACHE_DMA 0x00004000UL /* Use GFP_DMA memory */ > +#endif > #define SLAB_STORE_USER 0x00010000UL /* DEBUG: Store the last owner for bug hunting */ > #define SLAB_PANIC 0x00040000UL /* Panic if kmem_cache_create() fails */ > /*
Ok, now I see what you want. But please let's don't add an #ifdef CONFIG_ZONE_DMA to the dasd driver. Instead just re-add ZONE_DMA to 31-bit s390. Everything would be in ZONE_DMA again and ZONE_NORMAL would be empty. Doesn't matter if we have an additional zone, since 31-bit support isn't important anymore.
So I could add the following patch to the s390 tree, if wanted:
--- arch/s390/Kconfig | 2 +- arch/s390/mm/init.c | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-)
--- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -2,7 +2,7 @@ config MMU def_bool y config ZONE_DMA - def_bool y if 64BIT + def_bool y config LOCKDEP_SUPPORT def_bool y --- a/arch/s390/mm/init.c +++ b/arch/s390/mm/init.c @@ -119,9 +119,7 @@ void __init paging_init(void) sparse_memory_present_with_active_regions(MAX_NUMNODES); sparse_init(); memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); -#ifdef CONFIG_ZONE_DMA max_zone_pfns[ZONE_DMA] = PFN_DOWN(MAX_DMA_ADDRESS); -#endif max_zone_pfns[ZONE_NORMAL] = max_low_pfn; free_area_init_nodes(max_zone_pfns); fault_init();
| |