Mark Rustad wrote on Friday, March 24, 2006 9:52 AM
> I have narrowed this down to DEBUG_PAGEALLOC. If that option is
> enabled, attempts to reference areas mmap-ed from hugetlbfs files
> fault forever. You can see that I had that set in the failing config
> I reported below.
Yeah, it turns out that the debug option is not compatible with hugetlb
page support. That debug option turns off PSE. Once it is turned off in
CR4, cpu will ignore pse bit in the pmd and causing infinite page-not-
present fault :-(
void __init early_cpu_init(void)
{ ...
#ifdef CONFIG_DEBUG_PAGEALLOC
/* pse is not compatible with on-the-fly unmapping,
* disable it even if the cpus claim to support it.
*/
clear_bit(X86_FEATURE_PSE, boot_cpu_data.x86_capability);
disable_pse = 1;
#endif
[patch] mark DEBUG_PAGEALLOC to be mutually exclusive option with
HUGETLBFS. Bug found by Mark Rustad.
Signed-off-by: Ken Chen <[email protected]>
--- ./arch/i386/Kconfig.debug.orig 2006-03-24 17:50:39.000000000 -0800
+++ ./arch/i386/Kconfig.debug 2006-03-24 17:50:58.000000000 -0800
@@ -36,7 +36,7 @@
config DEBUG_PAGEALLOC
bool "Page alloc debugging"
- depends on DEBUG_KERNEL && !SOFTWARE_SUSPEND
+ depends on DEBUG_KERNEL && !SOFTWARE_SUSPEND && !HUGETLBFS
help
Unmap pages from the kernel linear mapping after free_pages().
This results in a large slowdown, but helps to find certain types
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]