On Tue, Aug 02, 2011 at 05:38:31PM +0530, Kautuk Consul wrote: > Hi, > > In the case where the total kernel memory is not aligned to the > SECTION_SIZE_BITS I see a kernel crash. > > When I copy a huge file, then the kernel crashes at the following callstack: > The callstack should not be 80-column formatted as this is completely manged and unreadable without manual editting. Also, why did you not include the full error message? With it, I'd have a better idea of which bug check you hit. > Backtrace: > <SNIP> > > The reason for this is that the CONFIG_HOLES_IN_ZONE configuration > option is not automatically enabled when SPARSEMEM or > ARCH_HAS_HOLES_MEMORYMODEL are enabled. Due to this, the > pfn_valid_within() macro always returns 1 due to which the BUG_ON is > encountered. > This patch enables the CONFIG_HOLES_IN_ZONE config option if either > ARCH_HAS_HOLES_MEMORYMODEL or SPARSEMEM is enabled. > > Although I tested this on an older kernel, i.e., 2.6.35.13, I see that > this option has not been enabled as yet in linux-3.0 and this appears > to be a > logically correct change anyways with respect to pfn_valid_within() > functionality. > There is a performance cost associated with HOLES_IN_ZONE which may be offset by memory savings but not necessarily. If the BUG_ON you are hitting is this one BUG_ON(page_zone(start_page) != page_zone(end_page)) then I'd be wondering why the check in move_freepages_block() was insufficient. If it's because holes are punched in the memmap then the option does need to be set. -- Mel Gorman SUSE Labs -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>