On Mon, 31 Aug 2015 17:02:38 +0200 Vlastimil Babka <vbabka@xxxxxxx> wrote: > >> +#define ZONE_TYPE \ > >> + IFDEF_ZONE_DMA( EM (ZONE_DMA, "DMA")) \ > >> + IFDEF_ZONE_DMA32( EM (ZONE_DMA32, "DMA32")) \ > >> + EM (ZONE_NORMAL, "Normal") \ > >> + IFDEF_ZONE_HIGHMEM( EM (ZONE_HIGHMEM,"HighMem")) \ > >> + EMe(ZONE_MOVABLE,"Movable") > >> + > > > > Hmm, have you tried to compile this with CONFIG_ZONE_HIGHMEM disabled, > > and CONFIG_ZONE_DMA and/or CONFIG_ZONE_DMA32 enabled? > > Yep, that's standard x86_64 situation (highmem disabled, dma+dma32 enabled). > > > The EMe() macro must come last, as it doesn't have the ending comma and > > the __print_symbolic() can fail to compile due to it. > > Thanks to ZONE_MOVABLE being unconditional, EMe(ZONE_MOVABLE...) is > always last. Otherwise the macros would get even more ugly... Ah! My mistake was to see where the end parenthesis of IFDEF_ZONE_HIGHMEM() laid. It looked to me that it encompassed ZONE_MOVABLE. But obviously it does not. -- Steve -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>