On Tue, 9 Dec 2014 11:27:20 +0800 Xishi Qiu <qiuxishi@xxxxxxxxxx> wrote: > Changelog: > V2: > -fix building warnings of min(...). > > ... > > --- a/arch/x86/mm/init.c > +++ b/arch/x86/mm/init.c > @@ -674,10 +674,12 @@ void __init zone_sizes_init(void) > memset(max_zone_pfns, 0, sizeof(max_zone_pfns)); > > #ifdef CONFIG_ZONE_DMA > - max_zone_pfns[ZONE_DMA] = MAX_DMA_PFN; > + max_zone_pfns[ZONE_DMA] = min_t(unsigned long, > + max_low_pfn, MAX_DMA_PFN); MAX_DMA_PFN has type int. > #endif > #ifdef CONFIG_ZONE_DMA32 > - max_zone_pfns[ZONE_DMA32] = MAX_DMA32_PFN; > + max_zone_pfns[ZONE_DMA32] = min_t(unsigned long, > + max_low_pfn, MAX_DMA32_PFN); MAX_DMA32_PFN has type UL (I think?) so there's no need for min_t here. > #endif > max_zone_pfns[ZONE_NORMAL] = max_low_pfn; > #ifdef CONFIG_HIGHMEM Let's try to get the types correct, rather than hacking around fixing up fallout from earlier incorrect type choices? What is the type of a pfn? Unsigned long, generally, when we bother thinking about it. So how about we make MAX_DMA_PFN have type UL? I assume that fixes the warning? If we do this, we should also be able to undo the min_t hackery in arch/x86/kernel/e820.c:memblock_find_dma_reserve(). -- 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>