* Kmemleak for mips @ 2009-11-02 17:07 Luis R. Rodriguez 2009-11-03 9:23 ` Catalin Marinas 0 siblings, 1 reply; 30+ messages in thread From: Luis R. Rodriguez @ 2009-11-02 17:07 UTC (permalink / raw) To: Catalin Marinas Cc: subscriptions, linux-mm, Pekka Enberg, John W. Linville, linux-kernel Curious what the limitations are on restricting kmemleak to non-mips archs. I have a user and situation [1] where this could be helpful [1] in debugging an issue. The user reports he cannot enable it on mips. [1] http://bugzilla.kernel.org/show_bug.cgi?id=14502 Luis -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: Kmemleak for mips 2009-11-02 17:07 Kmemleak for mips Luis R. Rodriguez @ 2009-11-03 9:23 ` Catalin Marinas 0 siblings, 0 replies; 30+ messages in thread From: Catalin Marinas @ 2009-11-03 9:23 UTC (permalink / raw) To: Luis R. Rodriguez Cc: subscriptions, linux-mm, Pekka Enberg, John W. Linville, linux-kernel On Mon, 2009-11-02 at 09:07 -0800, Luis R. Rodriguez wrote: > Curious what the limitations are on restricting kmemleak to non-mips > archs. I have a user and situation [1] where this could be helpful [1] > in debugging an issue. The user reports he cannot enable it on mips. It may just work but cannot be enabled because I cannot test kmemleak on such hardware. In general you need to make sure that the _sdata/_edata and __bss_start/__bss_stop symbols are defined. If there are other ways of allocating memory than the standard API, it would need additional hooks. Some false-positives specific to MIPS may need to be annotated (usually with kmemleak_not_leak). (btw, you could also merge the kmemleak.git tree on git.kernel.org as it has improvements on the rate of false positives; the patches will be pushed in 2.6.33-rc1) -- Catalin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* kmemleak for MIPS @ 2010-03-02 13:54 naveen yadav 2011-03-24 9:27 ` Daniel Baluta 0 siblings, 1 reply; 30+ messages in thread From: naveen yadav @ 2010-03-02 13:54 UTC (permalink / raw) To: linux-mips, linux-kernel, linux-mm Hi all, I want to check kmemleak for both ARM/MIPS. i am able to find kernel patch for ARM at http://linux.derkeiler.com/Mailing-Lists/Kernel/2009-04/msg11830.html. But I could not able to trace patch for MIPS. Kind Regards Naveen -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2010-03-02 13:54 kmemleak for MIPS naveen yadav @ 2011-03-24 9:27 ` Daniel Baluta 2011-03-24 9:55 ` Catalin Marinas 0 siblings, 1 reply; 30+ messages in thread From: Daniel Baluta @ 2011-03-24 9:27 UTC (permalink / raw) To: naveen yadav, Catalin Marinas; +Cc: linux-mips, linux-kernel, linux-mm > I want to check kmemleak for both ARM/MIPS. i am able to find kernel > patch for ARM at > http://linux.derkeiler.com/Mailing-Lists/Kernel/2009-04/msg11830.html. > But I could not able to trace patch for MIPS. It seems that kmemleak is not supported on MIPS. According to 'depends on' config entry it is supported on: x86, arm, ppc, s390, sparc64, superh, microblaze and tile. Cătălin, can you confirm this? I will send a patch to update Documentation/kmemleak.txt. Also, looking forward to work on making kmemleak available on MIPS. thanks, Daniel. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-24 9:27 ` Daniel Baluta @ 2011-03-24 9:55 ` Catalin Marinas 2011-03-28 21:15 ` Maxin John 0 siblings, 1 reply; 30+ messages in thread From: Catalin Marinas @ 2011-03-24 9:55 UTC (permalink / raw) To: Daniel Baluta; +Cc: naveen yadav, linux-mips, linux-kernel, linux-mm On Thu, 2011-03-24 at 09:27 +0000, Daniel Baluta wrote: > > I want to check kmemleak for both ARM/MIPS. i am able to find kernel > > patch for ARM at > > http://linux.derkeiler.com/Mailing-Lists/Kernel/2009-04/msg11830.html. > > But I could not able to trace patch for MIPS. > > It seems that kmemleak is not supported on MIPS. > > According to 'depends on' config entry it is supported on: > x86, arm, ppc, s390, sparc64, superh, microblaze and tile. > > Cătălin, can you confirm this? I will send a patch to update > Documentation/kmemleak.txt. > > Also, looking forward to work on making kmemleak available on MIPS. It's not supported probably because no-one tried it, kmemleak is pretty architecture-independent. You may need to add some standard symbols to the vmlinux.lds.S if the linker complains and possibly annotate some false positives if you get any. Just add "depends on MIPS" and give it a try. -- Catalin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-24 9:55 ` Catalin Marinas @ 2011-03-28 21:15 ` Maxin John 2011-03-29 10:40 ` Catalin Marinas 0 siblings, 1 reply; 30+ messages in thread From: Maxin John @ 2011-03-28 21:15 UTC (permalink / raw) To: Catalin Marinas Cc: Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm Hi, > Just add "depends on MIPS" and give it a try. As per your suggestion, I have tried it in my qemu environment (MIPS malta). With a minor modification in arch/mips/kernel/vmlinux.lds.S (added the symbol _sdata ), I was able to add kmemleak support for MIPS. Output in MIPS (Malta): debian-mips:~# uname -a Linux debian-mips 2.6.38-08826-g1788c20-dirty #4 SMP Mon Mar 28 23:22:04 EEST 2011 mips GNU/Linux debian-mips:~# mount -t debugfs nodev /sys/kernel/debug/ debian-mips:~# cat /sys/kernel/debug/kmemleak unreferenced object 0x8f95d000 (size 4096): comm "swapper", pid 1, jiffies 4294937330 (age 467.240s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<80529644>] alloc_large_system_hash+0x2f8/0x410 [<8053864c>] udp_table_init+0x4c/0x158 [<80538774>] udp_init+0x1c/0x94 [<80538b34>] inet_init+0x184/0x2a0 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0x8f95e000 (size 4096): comm "swapper", pid 1, jiffies 4294937330 (age 467.240s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<80529644>] alloc_large_system_hash+0x2f8/0x410 [<8053864c>] udp_table_init+0x4c/0x158 [<8053881c>] udplite4_register+0x24/0xa8 [<80538b3c>] inet_init+0x18c/0x2a0 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0x8f982b80 (size 128): comm "swapper", pid 1, jiffies 4294937331 (age 467.230s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b9b4c>] kmem_cache_alloc+0xe4/0x128 [<8052d960>] kmemleak_test_init+0x4c/0x298 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0x8f982b00 (size 128): comm "swapper", pid 1, jiffies 4294937331 (age 467.230s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b9b4c>] kmem_cache_alloc+0xe4/0x128 [<8052d97c>] kmemleak_test_init+0x68/0x298 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0x8f980800 (size 1024): comm "swapper", pid 1, jiffies 4294937331 (age 467.230s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b9b4c>] kmem_cache_alloc+0xe4/0x128 [<8052d998>] kmemleak_test_init+0x84/0x298 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0x8f980400 (size 1024): comm "swapper", pid 1, jiffies 4294937331 (age 467.240s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b9b4c>] kmem_cache_alloc+0xe4/0x128 [<8052d9b4>] kmemleak_test_init+0xa0/0x298 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0x8f98a800 (size 2048): comm "swapper", pid 1, jiffies 4294937331 (age 467.240s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b9b4c>] kmem_cache_alloc+0xe4/0x128 [<8052d9d0>] kmemleak_test_init+0xbc/0x298 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0x8f98a000 (size 2048): comm "swapper", pid 1, jiffies 4294937331 (age 467.270s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b9b4c>] kmem_cache_alloc+0xe4/0x128 [<8052d9ec>] kmemleak_test_init+0xd8/0x298 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0x8f98b000 (size 4096): comm "swapper", pid 1, jiffies 4294937331 (age 467.270s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b9b4c>] kmem_cache_alloc+0xe4/0x128 [<8052da24>] kmemleak_test_init+0x110/0x298 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0xc0003000 (size 64): comm "swapper", pid 1, jiffies 4294937331 (age 467.270s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b1b58>] __vmalloc_node_range+0x16c/0x1e0 [<801b1bfc>] __vmalloc_node+0x30/0x3c [<801b1d94>] vmalloc+0x2c/0x38 [<8052da38>] kmemleak_test_init+0x124/0x298 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0xc0006000 (size 64): comm "swapper", pid 1, jiffies 4294937331 (age 467.270s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b1b58>] __vmalloc_node_range+0x16c/0x1e0 [<801b1bfc>] __vmalloc_node+0x30/0x3c [<801b1d94>] vmalloc+0x2c/0x38 [<8052da4c>] kmemleak_test_init+0x138/0x298 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0xc0009000 (size 64): comm "swapper", pid 1, jiffies 4294937331 (age 467.270s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b1b58>] __vmalloc_node_range+0x16c/0x1e0 [<801b1bfc>] __vmalloc_node+0x30/0x3c [<801b1d94>] vmalloc+0x2c/0x38 [<8052da60>] kmemleak_test_init+0x14c/0x298 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0xc000c000 (size 64): comm "swapper", pid 1, jiffies 4294937331 (age 467.270s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b1b58>] __vmalloc_node_range+0x16c/0x1e0 [<801b1bfc>] __vmalloc_node+0x30/0x3c [<801b1d94>] vmalloc+0x2c/0x38 [<8052da74>] kmemleak_test_init+0x160/0x298 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0xc000f000 (size 64): comm "swapper", pid 1, jiffies 4294937331 (age 467.270s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b1b58>] __vmalloc_node_range+0x16c/0x1e0 [<801b1bfc>] __vmalloc_node+0x30/0x3c [<801b1d94>] vmalloc+0x2c/0x38 [<8052da88>] kmemleak_test_init+0x174/0x298 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 unreferenced object 0x8f072000 (size 4096): comm "swapper", pid 1, jiffies 4294937680 (age 463.840s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801ba3d8>] __kmalloc+0x130/0x180 [<805461bc>] flow_cache_cpu_prepare+0x50/0xa8 [<8053746c>] flow_cache_init_global+0x90/0x138 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 Please let me know your comments. Signed-off-by: Maxin B. John <maxin.john@gmail.com> --- diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index 832afbb..f5356fc 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S @@ -68,6 +68,7 @@ SECTIONS RODATA /* writeable */ + _sdata = .; /* Start of data section */ .data : { /* Data */ . = . + DATAOFFSET; /* for CONFIG_MAPPED_KERNEL */ diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index df9234c..5042421 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -398,7 +398,7 @@ config SLUB_STATS config DEBUG_KMEMLEAK bool "Kernel memory leak detector" depends on DEBUG_KERNEL && EXPERIMENTAL && !MEMORY_HOTPLUG && \ - (X86 || ARM || PPC || S390 || SPARC64 || SUPERH || MICROBLAZE || TILE) + (X86 || ARM || PPC || MIPS || S390 || SPARC64 || SUPERH || MICROBLAZE || TILE) select DEBUG_FS if SYSFS select STACKTRACE if STACKTRACE_SUPPORT -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-28 21:15 ` Maxin John @ 2011-03-29 10:40 ` Catalin Marinas 2011-03-29 11:38 ` Maxin John 2011-03-30 14:21 ` Ralf Baechle 0 siblings, 2 replies; 30+ messages in thread From: Catalin Marinas @ 2011-03-29 10:40 UTC (permalink / raw) To: Maxin John Cc: Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm On Mon, 2011-03-28 at 22:15 +0100, Maxin John wrote: > > Just add "depends on MIPS" and give it a try. > As per your suggestion, I have tried it in my qemu environment (MIPS malta). > > With a minor modification in arch/mips/kernel/vmlinux.lds.S (added the > symbol _sdata ), I was able to add kmemleak support for MIPS. > > Output in MIPS (Malta): You may want to disable the kmemleak testing to reduce the amount of leaks reported. > debian-mips:~# uname -a > Linux debian-mips 2.6.38-08826-g1788c20-dirty #4 SMP Mon Mar 28 > 23:22:04 EEST 2011 mips GNU/Linux > debian-mips:~# mount -t debugfs nodev /sys/kernel/debug/ > debian-mips:~# cat /sys/kernel/debug/kmemleak > unreferenced object 0x8f95d000 (size 4096): > comm "swapper", pid 1, jiffies 4294937330 (age 467.240s) > hex dump (first 32 bytes): > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > backtrace: > [<80529644>] alloc_large_system_hash+0x2f8/0x410 > [<8053864c>] udp_table_init+0x4c/0x158 > [<80538774>] udp_init+0x1c/0x94 > [<80538b34>] inet_init+0x184/0x2a0 > [<80100584>] do_one_initcall+0x174/0x1e0 > [<8051f348>] kernel_init+0xe4/0x174 > [<80103d4c>] kernel_thread_helper+0x10/0x18 > unreferenced object 0x8f95e000 (size 4096): > comm "swapper", pid 1, jiffies 4294937330 (age 467.240s) > hex dump (first 32 bytes): > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > backtrace: > [<80529644>] alloc_large_system_hash+0x2f8/0x410 > [<8053864c>] udp_table_init+0x4c/0x158 > [<8053881c>] udplite4_register+0x24/0xa8 > [<80538b3c>] inet_init+0x18c/0x2a0 > [<80100584>] do_one_initcall+0x174/0x1e0 > [<8051f348>] kernel_init+0xe4/0x174 > [<80103d4c>] kernel_thread_helper+0x10/0x18 These are probably false positives. Since the pointer referring this block (udp_table) is __read_mostly, is it possible that the corresponding section gets placed outside the _sdata.._edata range? diff --git a/arch/mips/include/asm/cache.h b/arch/mips/include/asm/cache.h index 650ac9b..b4db69f 100644 --- a/arch/mips/include/asm/cache.h +++ b/arch/mips/include/asm/cache.h @@ -17,6 +17,6 @@ #define SMP_CACHE_SHIFT L1_CACHE_SHIFT #define SMP_CACHE_BYTES L1_CACHE_BYTES -#define __read_mostly __attribute__((__section__(".data.read_mostly"))) +#define __read_mostly __attribute__((__section__(".data..read_mostly"))) #endif /* _ASM_CACHE_H */ diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index 570607b..6f6d5d0 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S @@ -74,6 +74,7 @@ SECTIONS INIT_TASK_DATA(PAGE_SIZE) NOSAVE_DATA CACHELINE_ALIGNED_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) + READ_MOSTLY_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) DATA_DATA CONSTRUCTORS } > unreferenced object 0x8f072000 (size 4096): > comm "swapper", pid 1, jiffies 4294937680 (age 463.840s) > hex dump (first 32 bytes): > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > backtrace: > [<801ba3d8>] __kmalloc+0x130/0x180 > [<805461bc>] flow_cache_cpu_prepare+0x50/0xa8 > [<8053746c>] flow_cache_init_global+0x90/0x138 > [<80100584>] do_one_initcall+0x174/0x1e0 > [<8051f348>] kernel_init+0xe4/0x174 > [<80103d4c>] kernel_thread_helper+0x10/0x18 Same here, flow_cachep pointer is __read_mostly. -- Catalin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-29 10:40 ` Catalin Marinas @ 2011-03-29 11:38 ` Maxin John 2011-03-29 11:50 ` Catalin Marinas 2011-03-30 14:21 ` Ralf Baechle 1 sibling, 1 reply; 30+ messages in thread From: Maxin John @ 2011-03-29 11:38 UTC (permalink / raw) To: Catalin Marinas Cc: Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm Hi, > You may want to disable the kmemleak testing to reduce the amount of > leaks reported. The kmemleak results in MIPS that I have included in the previous mail were obtained during the booting of the malta kernel. Later, I have checked the "real" usage by using the default "kmemleak_test" module. Following output shows the kmemleak results when I used the "kmemleak_test.ko" debian-mips:~# cat /sys/kernel/debug/kmemleak ........ unreferenced object 0xc0064000 (size 64): comm "insmod", pid 4233, jiffies 430046 (age 175.970s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b1b58>] __vmalloc_node_range+0x16c/0x1e0 [<801b1bfc>] __vmalloc_node+0x30/0x3c [<801b1d94>] vmalloc+0x2c/0x38 [<c005b168>] 0xc005b168 [<80100584>] do_one_initcall+0x174/0x1e0 [<8016b4bc>] sys_init_module+0x1b8/0x153c [<8010bf30>] stack_done+0x20/0x40 unreferenced object 0xc0067000 (size 64): comm "insmod", pid 4233, jiffies 430046 (age 175.970s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b1b58>] __vmalloc_node_range+0x16c/0x1e0 [<801b1bfc>] __vmalloc_node+0x30/0x3c [<801b1d94>] vmalloc+0x2c/0x38 [<c005b17c>] 0xc005b17c [<80100584>] do_one_initcall+0x174/0x1e0 [<8016b4bc>] sys_init_module+0x1b8/0x153c [<8010bf30>] stack_done+0x20/0x40 unreferenced object 0xc006a000 (size 64): comm "insmod", pid 4233, jiffies 430046 (age 175.970s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801b1b58>] __vmalloc_node_range+0x16c/0x1e0 [<801b1bfc>] __vmalloc_node+0x30/0x3c [<801b1d94>] vmalloc+0x2c/0x38 [<c005b190>] 0xc005b190 [<80100584>] do_one_initcall+0x174/0x1e0 [<8016b4bc>] sys_init_module+0x1b8/0x153c [<8010bf30>] stack_done+0x20/0x40 debian-mips:~# lsmod Module Size Used by kmemleak_test 867 0 debian-mips:~# rmmod kmemleak_test debian-mips:~# > These are probably false positives. The previous results could be false positives. However, the current results are not false positives as we have intentionally created the memory leaks using the test module. > Since the pointer referring this > block (udp_table) is __read_mostly, is it possible that the > corresponding section gets placed outside the _sdata.._edata range? I am not sure about this. Please let know how can I check this. Warm Regards, Maxin B. John On Tue, Mar 29, 2011 at 11:40 AM, Catalin Marinas <catalin.marinas@arm.com> wrote: > On Mon, 2011-03-28 at 22:15 +0100, Maxin John wrote: >> > Just add "depends on MIPS" and give it a try. >> As per your suggestion, I have tried it in my qemu environment (MIPS malta). >> >> With a minor modification in arch/mips/kernel/vmlinux.lds.S (added the >> symbol _sdata ), I was able to add kmemleak support for MIPS. >> >> Output in MIPS (Malta): > > You may want to disable the kmemleak testing to reduce the amount of > leaks reported. > >> debian-mips:~# uname -a >> Linux debian-mips 2.6.38-08826-g1788c20-dirty #4 SMP Mon Mar 28 >> 23:22:04 EEST 2011 mips GNU/Linux >> debian-mips:~# mount -t debugfs nodev /sys/kernel/debug/ >> debian-mips:~# cat /sys/kernel/debug/kmemleak >> unreferenced object 0x8f95d000 (size 4096): >> comm "swapper", pid 1, jiffies 4294937330 (age 467.240s) >> hex dump (first 32 bytes): >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ >> backtrace: >> [<80529644>] alloc_large_system_hash+0x2f8/0x410 >> [<8053864c>] udp_table_init+0x4c/0x158 >> [<80538774>] udp_init+0x1c/0x94 >> [<80538b34>] inet_init+0x184/0x2a0 >> [<80100584>] do_one_initcall+0x174/0x1e0 >> [<8051f348>] kernel_init+0xe4/0x174 >> [<80103d4c>] kernel_thread_helper+0x10/0x18 >> unreferenced object 0x8f95e000 (size 4096): >> comm "swapper", pid 1, jiffies 4294937330 (age 467.240s) >> hex dump (first 32 bytes): >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ >> backtrace: >> [<80529644>] alloc_large_system_hash+0x2f8/0x410 >> [<8053864c>] udp_table_init+0x4c/0x158 >> [<8053881c>] udplite4_register+0x24/0xa8 >> [<80538b3c>] inet_init+0x18c/0x2a0 >> [<80100584>] do_one_initcall+0x174/0x1e0 >> [<8051f348>] kernel_init+0xe4/0x174 >> [<80103d4c>] kernel_thread_helper+0x10/0x18 > > These are probably false positives. Since the pointer referring this > block (udp_table) is __read_mostly, is it possible that the > corresponding section gets placed outside the _sdata.._edata range? > > diff --git a/arch/mips/include/asm/cache.h b/arch/mips/include/asm/cache.h > index 650ac9b..b4db69f 100644 > --- a/arch/mips/include/asm/cache.h > +++ b/arch/mips/include/asm/cache.h > @@ -17,6 +17,6 @@ > #define SMP_CACHE_SHIFT L1_CACHE_SHIFT > #define SMP_CACHE_BYTES L1_CACHE_BYTES > > -#define __read_mostly __attribute__((__section__(".data.read_mostly"))) > +#define __read_mostly __attribute__((__section__(".data..read_mostly"))) > > #endif /* _ASM_CACHE_H */ > diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S > index 570607b..6f6d5d0 100644 > --- a/arch/mips/kernel/vmlinux.lds.S > +++ b/arch/mips/kernel/vmlinux.lds.S > @@ -74,6 +74,7 @@ SECTIONS > INIT_TASK_DATA(PAGE_SIZE) > NOSAVE_DATA > CACHELINE_ALIGNED_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) > + READ_MOSTLY_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) > DATA_DATA > CONSTRUCTORS > } > >> unreferenced object 0x8f072000 (size 4096): >> comm "swapper", pid 1, jiffies 4294937680 (age 463.840s) >> hex dump (first 32 bytes): >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ >> backtrace: >> [<801ba3d8>] __kmalloc+0x130/0x180 >> [<805461bc>] flow_cache_cpu_prepare+0x50/0xa8 >> [<8053746c>] flow_cache_init_global+0x90/0x138 >> [<80100584>] do_one_initcall+0x174/0x1e0 >> [<8051f348>] kernel_init+0xe4/0x174 >> [<80103d4c>] kernel_thread_helper+0x10/0x18 > > Same here, flow_cachep pointer is __read_mostly. > > -- > Catalin > > > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-29 11:38 ` Maxin John @ 2011-03-29 11:50 ` Catalin Marinas 2011-03-29 12:27 ` Maxin John 0 siblings, 1 reply; 30+ messages in thread From: Catalin Marinas @ 2011-03-29 11:50 UTC (permalink / raw) To: Maxin John Cc: Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm On Tue, 2011-03-29 at 12:38 +0100, Maxin John wrote: > Hi, > > > You may want to disable the kmemleak testing to reduce the amount of > > leaks reported. > > The kmemleak results in MIPS that I have included in the previous mail > were obtained during the booting of the malta kernel. > Later, I have checked the "real" usage by using the default > "kmemleak_test" module. > > Following output shows the kmemleak results when I used the "kmemleak_test.ko" Yes, that's fine to test kmemleak and show that it reports issues on MIPS. But it shouldn't report other leaks if the test module isn't loaded at all (removing it wouldn't remove the leaks reported as they are permanent). > debian-mips:~# cat /sys/kernel/debug/kmemleak > ........ These were caused by the kmemleak test. > > > These are probably false positives. > The previous results could be false positives. However, the current > results are not false positives as we have intentionally created the > memory leaks using the test module. I was only referring to those leaks coming from udp.c and ignored the kmemleak tests (that's why I said that you should run it again without the kmemleak_test.ko). > > Since the pointer referring this > > block (udp_table) is __read_mostly, is it possible that the > > corresponding section gets placed outside the _sdata.._edata range? > > I am not sure about this. Please let know how can I check this. Boot the kernel with kmemleak enabled but don't load kmemleak_test.ko. Than you can either wait 10-15 minutes or force a scan with: echo scan > /sys/kernel/debug/kmemleak echo scan > /sys/kernel/debug/kmemleak cat /sys/kernel/debug/kmemleak. -- Catalin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-29 11:50 ` Catalin Marinas @ 2011-03-29 12:27 ` Maxin John 2011-03-29 19:36 ` Maxin John 0 siblings, 1 reply; 30+ messages in thread From: Maxin John @ 2011-03-29 12:27 UTC (permalink / raw) To: Catalin Marinas Cc: Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm Hi, On Tue, Mar 29, 2011 at 12:50 PM, Catalin Marinas <catalin.marinas@arm.com> wrote: > On Tue, 2011-03-29 at 12:38 +0100, Maxin John wrote: >> Hi, >> >> > You may want to disable the kmemleak testing to reduce the amount of >> > leaks reported. >> >> The kmemleak results in MIPS that I have included in the previous mail >> were obtained during the booting of the malta kernel. >> Later, I have checked the "real" usage by using the default >> "kmemleak_test" module. >> >> Following output shows the kmemleak results when I used the "kmemleak_test.ko" > > Yes, that's fine to test kmemleak and show that it reports issues on > MIPS. But it shouldn't report other leaks if the test module isn't > loaded at all (removing it wouldn't remove the leaks reported as they > are permanent). Thank a lot for this information. Based on this, I will check it again in the MIPS platform. >> debian-mips:~# cat /sys/kernel/debug/kmemleak >> ........ > > These were caused by the kmemleak test. Oh.. I am sorry for creating confusion. I have added these lines ( ........) just to show that I haven't shared the complete output in order to reduce the length of the mail. >> >> > These are probably false positives. >> The previous results could be false positives. However, the current >> results are not false positives as we have intentionally created the >> memory leaks using the test module. > > I was only referring to those leaks coming from udp.c and ignored the > kmemleak tests (that's why I said that you should run it again without > the kmemleak_test.ko). >> > Since the pointer referring this >> > block (udp_table) is __read_mostly, is it possible that the >> > corresponding section gets placed outside the _sdata.._edata range? >> >> I am not sure about this. Please let know how can I check this. > > Boot the kernel with kmemleak enabled but don't load kmemleak_test.ko. > Than you can either wait 10-15 minutes or force a scan with: > > echo scan > /sys/kernel/debug/kmemleak > echo scan > /sys/kernel/debug/kmemleak > cat /sys/kernel/debug/kmemleak. > Thanks a lot for sharing the detailed steps.I will perform the test as mentioned above and will share the results. Thanks and Regards, Maxin B. John -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-29 12:27 ` Maxin John @ 2011-03-29 19:36 ` Maxin John 2011-03-29 19:54 ` Daniel Baluta ` (2 more replies) 0 siblings, 3 replies; 30+ messages in thread From: Maxin John @ 2011-03-29 19:36 UTC (permalink / raw) To: Catalin Marinas Cc: Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm Hi, I have prepared the combined patch for kmemleak porting to MIPS. After applying the patch and enabling the kmemleak in Kernel, I can see one kernel memleak reported during booting itself: .. .. TCP cubic registered NET: Registered protocol family 17 NET: Registered protocol family 15 kmemleak: Kernel memory leak detector initialized rtc_cmos rtc_cmos: setting system clock to 2011-03-29 18:20:41 UTC (1301422841) kmemleak: Automatic memory scanning thread started EXT3-fs: barriers not enabled kjournald starting. Commit interval 5 seconds EXT3-fs (hda1): mounted filesystem with ordered data mode VFS: Mounted root (ext3 filesystem) readonly on device 3:1. Freeing prom memory: 956k freed Freeing unused kernel memory: 244k freed modprobe: FATAL: Could not load /lib/modules/2.6.38-08826-g1788c20-dirty/modules.dep: No such file or directory INIT: version 2.86 booting Starting the hotplug events dispatcher: udevdudevd (863): /proc/863/oom_adj is deprecated, please use /proc/863/oom_score_adj instead. . Synthesizing the initial hotplug events...done. Waiting for /dev to be fully populated...kmemleak: 1 new suspected memory leaks (see /sys/kernel/debug/kmemleak) .... .... debian-mips:~# debian-mips:~# mount -t debugfs nodev /sys/kernel/debug/ debian-mips:~# cat /sys/kernel/debug/kmemleak unreferenced object 0x8f90d000 (size 4096): comm "swapper", pid 1, jiffies 4294937330 (age 815.000s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<80529644>] alloc_large_system_hash+0x2f8/0x410 [<805383b4>] udp_table_init+0x4c/0x158 [<805384dc>] udp_init+0x1c/0x94 [<8053889c>] inet_init+0x184/0x2a0 [<80100584>] do_one_initcall+0x174/0x1e0 [<8051f348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 The standard kmemleak test case is behaving as expected. Based on this, I think, we can say that the kmemleak support for MIPS is working. Please let me know your comments. Signed-off-by: Maxin B. John <maxin.john@gmail.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> --- diff --git a/arch/mips/include/asm/cache.h b/arch/mips/include/asm/cache.h index 650ac9b..b4db69f 100644 --- a/arch/mips/include/asm/cache.h +++ b/arch/mips/include/asm/cache.h @@ -17,6 +17,6 @@ #define SMP_CACHE_SHIFT L1_CACHE_SHIFT #define SMP_CACHE_BYTES L1_CACHE_BYTES -#define __read_mostly __attribute__((__section__(".data.read_mostly"))) +#define __read_mostly __attribute__((__section__(".data..read_mostly"))) #endif /* _ASM_CACHE_H */ diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index 832afbb..501204d 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S @@ -68,12 +68,14 @@ SECTIONS RODATA /* writeable */ + _sdata = .; /* Start of data section */ .data : { /* Data */ . = . + DATAOFFSET; /* for CONFIG_MAPPED_KERNEL */ INIT_TASK_DATA(PAGE_SIZE) NOSAVE_DATA CACHELINE_ALIGNED_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) + READ_MOSTLY_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) DATA_DATA CONSTRUCTORS } diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index df9234c..5042421 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -398,7 +398,7 @@ config SLUB_STATS config DEBUG_KMEMLEAK bool "Kernel memory leak detector" depends on DEBUG_KERNEL && EXPERIMENTAL && !MEMORY_HOTPLUG && \ - (X86 || ARM || PPC || S390 || SPARC64 || SUPERH || MICROBLAZE || TILE) + (X86 || ARM || PPC || MIPS || S390 || SPARC64 || SUPERH || MICROBLAZE || TILE) select DEBUG_FS if SYSFS select STACKTRACE if STACKTRACE_SUPPORT -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-29 19:36 ` Maxin John @ 2011-03-29 19:54 ` Daniel Baluta 2011-03-30 9:15 ` Catalin Marinas 2011-03-30 14:28 ` Ralf Baechle 2 siblings, 0 replies; 30+ messages in thread From: Daniel Baluta @ 2011-03-29 19:54 UTC (permalink / raw) To: Maxin John Cc: Catalin Marinas, naveen yadav, linux-mips, linux-kernel, linux-mm On Tue, Mar 29, 2011 at 10:36 PM, Maxin John <maxin.john@gmail.com> wrote: > Hi, > > I have prepared the combined patch for kmemleak porting to MIPS. After > applying the patch and enabling the kmemleak in Kernel, I can see one > kernel memleak reported during booting itself: > .. > .. > > TCP cubic registered > NET: Registered protocol family 17 > NET: Registered protocol family 15 > kmemleak: Kernel memory leak detector initialized > rtc_cmos rtc_cmos: setting system clock to 2011-03-29 18:20:41 UTC (1301422841) > kmemleak: Automatic memory scanning thread started > EXT3-fs: barriers not enabled > kjournald starting. Commit interval 5 seconds > EXT3-fs (hda1): mounted filesystem with ordered data mode > VFS: Mounted root (ext3 filesystem) readonly on device 3:1. > Freeing prom memory: 956k freed > Freeing unused kernel memory: 244k freed > modprobe: FATAL: Could not load > /lib/modules/2.6.38-08826-g1788c20-dirty/modules.dep: No such file or > directory > > INIT: version 2.86 booting > Starting the hotplug events dispatcher: udevdudevd (863): > /proc/863/oom_adj is deprecated, please use /proc/863/oom_score_adj > instead. > . > Synthesizing the initial hotplug events...done. > Waiting for /dev to be fully populated...kmemleak: 1 new suspected > memory leaks (see /sys/kernel/debug/kmemleak) > .... > .... > > debian-mips:~# > debian-mips:~# mount -t debugfs nodev /sys/kernel/debug/ > debian-mips:~# cat /sys/kernel/debug/kmemleak > unreferenced object 0x8f90d000 (size 4096): > comm "swapper", pid 1, jiffies 4294937330 (age 815.000s) > hex dump (first 32 bytes): > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > backtrace: > [<80529644>] alloc_large_system_hash+0x2f8/0x410 > [<805383b4>] udp_table_init+0x4c/0x158 > [<805384dc>] udp_init+0x1c/0x94 > [<8053889c>] inet_init+0x184/0x2a0 > [<80100584>] do_one_initcall+0x174/0x1e0 > [<8051f348>] kernel_init+0xe4/0x174 > [<80103d4c>] kernel_thread_helper+0x10/0x18 > > > The standard kmemleak test case is behaving as expected. Based on > this, I think, we can say that the kmemleak support for MIPS is > working. > > Please let me know your comments. This looks good to me. thanks, Daniel. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-29 19:36 ` Maxin John 2011-03-29 19:54 ` Daniel Baluta @ 2011-03-30 9:15 ` Catalin Marinas 2011-03-30 9:54 ` Daniel Baluta 2011-03-30 10:08 ` Maxin John 2011-03-30 14:28 ` Ralf Baechle 2 siblings, 2 replies; 30+ messages in thread From: Catalin Marinas @ 2011-03-30 9:15 UTC (permalink / raw) To: Maxin John Cc: Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm On Tue, 2011-03-29 at 20:36 +0100, Maxin John wrote: > I have prepared the combined patch for kmemleak porting to MIPS. After > applying the patch and enabling the kmemleak in Kernel, I can see one > kernel memleak reported during booting itself: ... > unreferenced object 0x8f90d000 (size 4096): > comm "swapper", pid 1, jiffies 4294937330 (age 815.000s) > hex dump (first 32 bytes): > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > backtrace: > [<80529644>] alloc_large_system_hash+0x2f8/0x410 > [<805383b4>] udp_table_init+0x4c/0x158 > [<805384dc>] udp_init+0x1c/0x94 > [<8053889c>] inet_init+0x184/0x2a0 > [<80100584>] do_one_initcall+0x174/0x1e0 > [<8051f348>] kernel_init+0xe4/0x174 > [<80103d4c>] kernel_thread_helper+0x10/0x18 If you for the kmemleak scan (via echo) a few times, do you get more leaks? The udp_table_init() function looks like it could leak some memory but I haven't seen it before. I'm not sure whether this is a false positive or a real leak. > > Please let me know your comments. > > Signed-off-by: Maxin B. John <maxin.john@gmail.com> > Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> I think the last line should be more like: Acked-by: Catalin Marinas <catalin.marinas@arm.com> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 9:15 ` Catalin Marinas @ 2011-03-30 9:54 ` Daniel Baluta 2011-03-30 9:58 ` Catalin Marinas 2011-03-30 11:03 ` Maxin John 2011-03-30 10:08 ` Maxin John 1 sibling, 2 replies; 30+ messages in thread From: Daniel Baluta @ 2011-03-30 9:54 UTC (permalink / raw) To: Maxin John Cc: naveen yadav, linux-mips, linux-kernel, linux-mm, Catalin Marinas >> unreferenced object 0x8f90d000 (size 4096): >> comm "swapper", pid 1, jiffies 4294937330 (age 815.000s) >> hex dump (first 32 bytes): >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ >> backtrace: >> [<80529644>] alloc_large_system_hash+0x2f8/0x410 >> [<805383b4>] udp_table_init+0x4c/0x158 >> [<805384dc>] udp_init+0x1c/0x94 >> [<8053889c>] inet_init+0x184/0x2a0 >> [<80100584>] do_one_initcall+0x174/0x1e0 >> [<8051f348>] kernel_init+0xe4/0x174 >> [<80103d4c>] kernel_thread_helper+0x10/0x18 > > If you for the kmemleak scan (via echo) a few times, do you get more > leaks? The udp_table_init() function looks like it could leak some > memory but I haven't seen it before. I'm not sure whether this is a > false positive or a real leak. Looking again at udp_init_table it seem that a memory leak is possible. Could you post your .config and the full output of dmesg after booting. A situation where CONFIG_BASE_SMALL is 0, and table->mask < UDP_HTABLE_SIZE_MIN - 1 would lead to a memory leak. Furthermore, you can add some printks inside udp_init_table and check what is really happening there. ([1]) thanks, Daniel. [1] http://lxr.linux.no/linux+v2.6.38/net/ipv4/udp.c#L2125 thanks, Daniel. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 9:54 ` Daniel Baluta @ 2011-03-30 9:58 ` Catalin Marinas 2011-03-30 11:03 ` Maxin John 1 sibling, 0 replies; 30+ messages in thread From: Catalin Marinas @ 2011-03-30 9:58 UTC (permalink / raw) To: Daniel Baluta Cc: Maxin John, naveen yadav, linux-mips, linux-kernel, linux-mm, Eric Dumazet On Wed, 2011-03-30 at 10:54 +0100, Daniel Baluta wrote: > >> unreferenced object 0x8f90d000 (size 4096): > >> comm "swapper", pid 1, jiffies 4294937330 (age 815.000s) > >> hex dump (first 32 bytes): > >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > >> backtrace: > >> [<80529644>] alloc_large_system_hash+0x2f8/0x410 > >> [<805383b4>] udp_table_init+0x4c/0x158 > >> [<805384dc>] udp_init+0x1c/0x94 > >> [<8053889c>] inet_init+0x184/0x2a0 > >> [<80100584>] do_one_initcall+0x174/0x1e0 > >> [<8051f348>] kernel_init+0xe4/0x174 > >> [<80103d4c>] kernel_thread_helper+0x10/0x18 > > > > If you for the kmemleak scan (via echo) a few times, do you get more > > leaks? The udp_table_init() function looks like it could leak some > > memory but I haven't seen it before. I'm not sure whether this is a > > false positive or a real leak. > > Looking again at udp_init_table it seem that a memory leak is possible. > Could you post your .config and the full output of dmesg after booting. > > A situation where CONFIG_BASE_SMALL is 0, and > table->mask < UDP_HTABLE_SIZE_MIN - 1 would lead > to a memory leak. It's worth printing the table->mask on MIPS as well. I think have the same configuration on ARM and put some printk's but the table->mask is set to higher value and the second if condition is false. The checks could be simply reordered but I don't know the reasoning behind the current code sequence (I cc'ed Eric). -- Catalin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 9:54 ` Daniel Baluta 2011-03-30 9:58 ` Catalin Marinas @ 2011-03-30 11:03 ` Maxin John 2011-03-30 11:24 ` Daniel Baluta 1 sibling, 1 reply; 30+ messages in thread From: Maxin John @ 2011-03-30 11:03 UTC (permalink / raw) To: Daniel Baluta Cc: naveen yadav, linux-mips, linux-kernel, linux-mm, Catalin Marinas Hi Daniel, > Could you post your .config and the full output of dmesg after booting. Please find the latest dmesg below : debian-mips:~# dmesg Linux version 2.6.39-rc1-dirty (root@maxin) (gcc version 4.4.1 (Sourcery G++ Lite 4.4-303) ) #1 SMP Wed Mar 30 13:52:02 CET 2011 bootconsole [early0] enabled CPU revision is: 00019300 (MIPS 24Kc) FPU revision is: 00000000 Determined physical RAM map: memory: 00001000 @ 00000000 (reserved) memory: 000ef000 @ 00001000 (ROM data) memory: 0047a000 @ 000f0000 (reserved) memory: 0f495000 @ 0056a000 (usable) Wasting 44352 bytes for tracking 1386 unused pages Zone PFN ranges: DMA 0x00000000 -> 0x00001000 Normal 0x00001000 -> 0x0000f9ff Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x00000000 -> 0x0000f9ff On node 0 totalpages: 63999 free_area_init_node: node 0, pgdat 8050a080, node_mem_map 81000000 DMA zone: 32 pages used for memmap DMA zone: 0 pages reserved DMA zone: 4064 pages, LIFO batch:0 Normal zone: 468 pages used for memmap Normal zone: 59435 pages, LIFO batch:15 PERCPU: Embedded 7 pages/cpu @811fb000 s6976 r8192 d13504 u32768 pcpu-alloc: s6976 r8192 d13504 u32768 alloc=8*4096 pcpu-alloc: [0] 0 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 63499 Kernel command line: root=/dev/hda1 console=ttyS0 PID hash table entries: 1024 (order: 0, 4096 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Primary instruction cache 2kB, VIPT, 2-way, linesize 16 bytes. Primary data cache 2kB, 2-way, VIPT, no aliases, linesize 16 bytes Writing ErrCtl register=00000000 Readback ErrCtl register=00000000 Memory: 248192k/250452k available (3376k kernel code, 2260k reserved, 767k data, 240k init, 0k highmem) Hierarchical RCU implementation. RCU-based detection of stalled CPUs is disabled. NR_IRQS:256 ------------[ cut here ]------------ WARNING: at kernel/irq/chip.c:559 __irq_set_handler+0x164/0x16c() Modules linked in: Call Trace: [<804477b0>] dump_stack+0x8/0x34 [<801309c0>] warn_slowpath_common+0x78/0xa4 [<80130a04>] warn_slowpath_null+0x18/0x24 [<80170c2c>] __irq_set_handler+0x164/0x16c [<8050e834>] arch_init_irq+0x444/0x470 [<8050c920>] start_kernel+0x204/0x368 [<80440aa0>] kernel_entry+0x0/0xa0 ---[ end trace 139ce121c98e96c9 ]--- ------------[ cut here ]------------ WARNING: at kernel/irq/chip.c:559 __irq_set_handler+0x164/0x16c() Modules linked in: Call Trace: [<804477b0>] dump_stack+0x8/0x34 [<801309c0>] warn_slowpath_common+0x78/0xa4 [<80130a04>] warn_slowpath_null+0x18/0x24 [<80170c2c>] __irq_set_handler+0x164/0x16c [<8050c920>] start_kernel+0x204/0x368 [<80440aa0>] kernel_entry+0x0/0xa0 ---[ end trace 139ce121c98e96ca ]--- CPU frequency 200.00 MHz ------------[ cut here ]------------ WARNING: at kernel/irq/chip.c:559 __irq_set_handler+0x164/0x16c() Modules linked in: Call Trace: [<804477b0>] dump_stack+0x8/0x34 [<801309c0>] warn_slowpath_common+0x78/0xa4 [<80130a04>] warn_slowpath_null+0x18/0x24 [<80170c2c>] __irq_set_handler+0x164/0x16c [<8050fe28>] time_init+0x10/0x78 [<8050c950>] start_kernel+0x234/0x368 [<80440aa0>] kernel_entry+0x0/0xa0 ---[ end trace 139ce121c98e96cb ]--- Console: colour dummy device 80x25 Calibrating delay loop... 835.58 BogoMIPS (lpj=4177920) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 Brought up 1 CPUs NET: Registered protocol family 16 FPU Affinity set after 16700 emulations bio: create slab <bio-0> at 0 vgaarb: loaded pci 0000:00:00.0: [11ab:4620] type 0 class 0x000600 pci 0000:00:00.0: reg 14: [mem 0x01000000-0x01ffffff pref] pci 0000:00:0a.0: [8086:7110] type 0 class 0x000601 pci 0000:00:0a.1: [8086:7111] type 0 class 0x000101 pci 0000:00:0a.1: reg 20: [io 0x0000-0x000f] pci 0000:00:0a.2: [8086:7112] type 0 class 0x000c03 pci 0000:00:0a.2: reg 20: [io 0x0000-0x001f] pci 0000:00:0a.3: [8086:7113] type 0 class 0x000680 pci 0000:00:0a.3: address space collision: [io 0x1100-0x110f] conflicts with GT-64120 PCI I/O [io 0x1000-0x1fffff] pci 0000:00:0b.0: [1022:2000] type 0 class 0x000200 pci 0000:00:0b.0: reg 10: [io 0x0000-0x001f] pci 0000:00:0b.0: reg 14: [mem 0x00000000-0x0000001f] pci 0000:00:12.0: [1013:00b8] type 0 class 0x000300 pci 0000:00:12.0: reg 10: [mem 0x00000000-0x01ffffff pref] pci 0000:00:12.0: reg 14: [mem 0x00000000-0x00000fff] pci 0000:00:12.0: reg 30: [mem 0x00000000-0x0000ffff pref] vgaarb: device added: PCI:0000:00:12.0,decodes=io+mem,owns=none,locks=none pci 0000:00:0a.3: BAR 8: [io 0x1100-0x110f] has bogus alignment pci 0000:00:12.0: BAR 0: assigned [mem 0x10000000-0x11ffffff pref] pci 0000:00:12.0: BAR 0: set to [mem 0x10000000-0x11ffffff pref] (PCI address [0x10000000-0x11ffffff]) pci 0000:00:12.0: BAR 6: assigned [mem 0x12000000-0x1200ffff pref] pci 0000:00:12.0: BAR 1: assigned [mem 0x12010000-0x12010fff] pci 0000:00:12.0: BAR 1: set to [mem 0x12010000-0x12010fff] (PCI address [0x12010000-0x12010fff]) pci 0000:00:0a.2: BAR 4: assigned [io 0x1000-0x101f] pci 0000:00:0a.2: BAR 4: set to [io 0x1000-0x101f] (PCI address [0x1000-0x101f]) pci 0000:00:0b.0: BAR 0: assigned [io 0x1020-0x103f] pci 0000:00:0b.0: BAR 0: set to [io 0x1020-0x103f] (PCI address [0x1020-0x103f]) pci 0000:00:0b.0: BAR 1: assigned [mem 0x12011000-0x1201101f] pci 0000:00:0b.0: BAR 1: set to [mem 0x12011000-0x1201101f] (PCI address [0x12011000-0x1201101f]) pci 0000:00:0a.1: BAR 4: assigned [io 0x1040-0x104f] pci 0000:00:0a.1: BAR 4: set to [io 0x1040-0x104f] (PCI address [0x1040-0x104f]) Switching to clocksource MIPS Switched to NOHz mode on CPU #0 NET: Registered protocol family 2 IP route cache hash table entries: 2048 (order: 1, 8192 bytes) TCP established hash table entries: 8192 (order: 4, 65536 bytes) TCP bind hash table entries: 8192 (order: 4, 65536 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP reno registered UDP hash table entries: 128 (order: 0, 4096 bytes) UDP-Lite hash table entries: 128 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. PCI: CLS 0 bytes, default 64 VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) Installing knfsd (copyright (C) 1996 okir@monad.swb.de). msgmni has been set to 484 io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) PCI: Enabling device 0000:00:12.0 (0000 -> 0002) cirrusfb 0000:00:12.0: Cirrus Logic chipset on PCI bus, RAM (4096 kB) at 0x10000000 Console: switching to colour frame buffer device 80x30 Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled serial8250.0: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A console [ttyS0] enabled, bootconsole disabled serial8250.0: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A serial8250.0: ttyS2 at MMIO 0x1f000900 (irq = 18) is a 16550A brd: module loaded Uniform Multi-Platform E-IDE driver piix 0000:00:0a.1: IDE controller (0x8086:0x7111 rev 0x00) PCI: Enabling device 0000:00:0a.1 (0000 -> 0001) piix 0000:00:0a.1: not 100% native mode: will probe irqs later PCI: Setting latency timer of device 0000:00:0a.1 to 64 ide0: BM-DMA at 0x1040-0x1047 ide1: BM-DMA at 0x1048-0x104f Probing IDE interface ide0... hda: QEMU HARDDISK, ATA DISK drive hda: host max PIO4 wanted PIO255(auto-tune) selected PIO2 hda: UDMA/33 mode selected Probing IDE interface ide1... hdc: QEMU DVD-ROM, ATAPI CD/DVD-ROM drive hdc: host max PIO4 wanted PIO255(auto-tune) selected PIO0 hdc: UDMA/33 mode selected ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 ide_generic: please use "probe_mask=0x3f" module parameter for probing all legacy ISA IDE ports ide-gd driver 1.18 hda: max request size: 512KiB hda: 33554432 sectors (17179 MB) w/256KiB Cache, CHS=16383/255/63 hda: cache flushes supported hda: hda1 hda2 < hda5 > ide-cd driver 5.00 ide-cd: hdc: ATAPI 4X CD-ROM drive, 512kB Cache cdrom: Uniform CD-ROM driver Revision: 3.20 physmap platform flash device: 00400000 at 1e000000 physmap-flash physmap-flash.0: map_probe failed pcnet32: pcnet32.c:v1.35 21.Apr.2008 tsbogend@alpha.franken.de PCI: Enabling device 0000:00:0b.0 (0000 -> 0003) PCI: Setting latency timer of device 0000:00:0b.0 to 64 pcnet32: PCnet/PCI II 79C970A at 0x1020, 52:54:00:12:34:56 assigned IRQ 10 pcnet32: eth0: registered as PCnet/PCI II 79C970A pcnet32: 1 cards_found mousedev: PS/2 mouse device common for all mice rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0 rtc0: alarms up to one day, 242 bytes nvram TCP cubic registered NET: Registered protocol family 17 NET: Registered protocol family 15 kmemleak: Kernel memory leak detector initialized rtc_cmos rtc_cmos: setting system clock to 2011-03-30 12:53:42 UTC (1301489622) kmemleak: Automatic memory scanning thread started EXT3-fs: barriers not enabled kjournald starting. Commit interval 5 seconds EXT3-fs (hda1): mounted filesystem with ordered data mode VFS: Mounted root (ext3 filesystem) readonly on device 3:1. Freeing prom memory: 956k freed Freeing unused kernel memory: 240k freed udevd (861): /proc/861/oom_adj is deprecated, please use /proc/861/oom_score_adj instead. kmemleak: 3 new suspected memory leaks (see /sys/kernel/debug/kmemleak) Adding 738952k swap on /dev/hda5. Priority:-1 extents:1 across:738952k EXT3-fs (hda1): using internal journal IPv4 FIB: Using LC-trie version 0.409 pcnet32 0000:00:0b.0: eth0: link up ---x----x----x---x----x-----x----x----x---x---x The .config file : # # Automatically generated make config: don't edit # Linux/mips 2.6.39-rc1 Kernel Configuration # Wed Mar 30 13:40:24 2011 # CONFIG_MIPS=y # # Machine selection # CONFIG_ZONE_DMA=y # CONFIG_MIPS_ALCHEMY is not set # CONFIG_AR7 is not set # CONFIG_ATH79 is not set # CONFIG_BCM47XX is not set # CONFIG_BCM63XX is not set # CONFIG_MIPS_COBALT is not set # CONFIG_MACH_DECSTATION is not set # CONFIG_MACH_JAZZ is not set # CONFIG_MACH_JZ4740 is not set # CONFIG_LASAT is not set # CONFIG_MACH_LOONGSON is not set CONFIG_MIPS_MALTA=y # CONFIG_MIPS_SIM is not set # CONFIG_NEC_MARKEINS is not set # CONFIG_MACH_VR41XX is not set # CONFIG_NXP_STB220 is not set # CONFIG_NXP_STB225 is not set # CONFIG_PNX8550_JBS is not set # CONFIG_PNX8550_STB810 is not set # CONFIG_PMC_MSP is not set # CONFIG_PMC_YOSEMITE is not set # CONFIG_POWERTV is not set # CONFIG_SGI_IP22 is not set # CONFIG_SGI_IP27 is not set # CONFIG_SGI_IP28 is not set # CONFIG_SGI_IP32 is not set # CONFIG_SIBYTE_CRHINE is not set # CONFIG_SIBYTE_CARMEL is not set # CONFIG_SIBYTE_CRHONE is not set # CONFIG_SIBYTE_RHONE is not set # CONFIG_SIBYTE_SWARM is not set # CONFIG_SIBYTE_LITTLESUR is not set # CONFIG_SIBYTE_SENTOSA is not set # CONFIG_SIBYTE_BIGSUR is not set # CONFIG_SNI_RM is not set # CONFIG_MACH_TX39XX is not set # CONFIG_MACH_TX49XX is not set # CONFIG_MIKROTIK_RB532 is not set # CONFIG_WR_PPMC is not set # CONFIG_CAVIUM_OCTEON_SIMULATOR is not set # CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set # CONFIG_ALCHEMY_GPIO_INDIRECT is not set CONFIG_CAVIUM_OCTEON_HELPER=y CONFIG_RWSEM_GENERIC_SPINLOCK=y # CONFIG_ARCH_HAS_ILOG2_U32 is not set # CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_ARCH_SUPPORTS_OPROFILE=y CONFIG_GENERIC_FIND_NEXT_BIT=y CONFIG_GENERIC_FIND_BIT_LE=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_BOOT_RAW=y CONFIG_CEVT_R4K_LIB=y CONFIG_CEVT_R4K=y CONFIG_CSRC_R4K_LIB=y CONFIG_CSRC_R4K=y # CONFIG_ARCH_DMA_ADDR_T_64BIT is not set CONFIG_DMA_NONCOHERENT=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_SYS_HAS_EARLY_PRINTK=y CONFIG_I8259=y CONFIG_MIPS_BONITO64=y CONFIG_MIPS_MSC=y # CONFIG_MIPS_MACHINE is not set # CONFIG_NO_IOPORT is not set CONFIG_GENERIC_ISA_DMA=y CONFIG_ISA_DMA_API=y CONFIG_CPU_BIG_ENDIAN=y # CONFIG_CPU_LITTLE_ENDIAN is not set CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y CONFIG_IRQ_CPU=y CONFIG_IRQ_GIC=y CONFIG_MIPS_BOARDS_GEN=y CONFIG_PCI_GT64XXX_PCI0=y CONFIG_SWAP_IO_SPACE=y CONFIG_BOOT_ELF32=y CONFIG_MIPS_L1_CACHE_SHIFT=6 # # CPU selection # # CONFIG_CPU_MIPS32_R1 is not set CONFIG_CPU_MIPS32_R2=y # CONFIG_CPU_MIPS64_R1 is not set # CONFIG_CPU_NEVADA is not set # CONFIG_CPU_RM7000 is not set CONFIG_SYS_SUPPORTS_ZBOOT=y CONFIG_SYS_HAS_CPU_MIPS32_R1=y CONFIG_SYS_HAS_CPU_MIPS32_R2=y CONFIG_SYS_HAS_CPU_MIPS64_R1=y CONFIG_SYS_HAS_CPU_NEVADA=y CONFIG_SYS_HAS_CPU_RM7000=y CONFIG_CPU_MIPS32=y CONFIG_CPU_MIPSR2=y CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y CONFIG_HARDWARE_WATCHPOINTS=y # # Kernel type # CONFIG_32BIT=y CONFIG_PAGE_SIZE_4KB=y # CONFIG_PAGE_SIZE_16KB is not set # CONFIG_PAGE_SIZE_64KB is not set CONFIG_FORCE_MAX_ZONEORDER=11 CONFIG_BOARD_SCACHE=y CONFIG_MIPS_CPU_SCACHE=y CONFIG_CPU_HAS_PREFETCH=y # CONFIG_MIPS_MT_DISABLED is not set CONFIG_MIPS_MT_SMP=y # CONFIG_MIPS_MT_SMTC is not set CONFIG_MIPS_MT=y # CONFIG_SCHED_SMT is not set CONFIG_SYS_SUPPORTS_SCHED_SMT=y CONFIG_SYS_SUPPORTS_MULTITHREADING=y CONFIG_MIPS_MT_FPAFF=y # CONFIG_MIPS_VPE_LOADER is not set # CONFIG_MIPS_CMP is not set # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set # CONFIG_CPU_HAS_SMARTMIPS is not set CONFIG_CPU_MIPSR2_IRQ_VI=y CONFIG_CPU_MIPSR2_IRQ_EI=y CONFIG_CPU_HAS_SYNC=y CONFIG_CPU_SUPPORTS_HIGHMEM=y CONFIG_SYS_SUPPORTS_SMARTMIPS=y CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4 # CONFIG_COMPACTION is not set # CONFIG_PHYS_ADDR_T_64BIT is not set CONFIG_ZONE_DMA_FLAG=1 CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y # CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_SMP=y CONFIG_SMP_UP=y CONFIG_SYS_SUPPORTS_MIPS_CMP=y CONFIG_SYS_SUPPORTS_SMP=y CONFIG_NR_CPUS_DEFAULT_2=y CONFIG_NR_CPUS=2 CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y # CONFIG_HZ_48 is not set CONFIG_HZ_100=y # CONFIG_HZ_128 is not set # CONFIG_HZ_250 is not set # CONFIG_HZ_256 is not set # CONFIG_HZ_1000 is not set # CONFIG_HZ_1024 is not set CONFIG_SYS_SUPPORTS_ARBIT_HZ=y CONFIG_HZ=100 CONFIG_PREEMPT_NONE=y # CONFIG_PREEMPT_VOLUNTARY is not set # CONFIG_PREEMPT is not set # CONFIG_KEXEC is not set CONFIG_SECCOMP=y # CONFIG_USE_OF is not set CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_CONSTRUCTORS=y CONFIG_HAVE_IRQ_WORK=y # # General setup # CONFIG_EXPERIMENTAL=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y # CONFIG_POSIX_MQUEUE is not set # CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_FHANDLE is not set # CONFIG_TASKSTATS is not set # CONFIG_AUDIT is not set CONFIG_HAVE_GENERIC_HARDIRQS=y # # IRQ subsystem # CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y # # RCU Subsystem # CONFIG_TREE_RCU=y # CONFIG_PREEMPT_RCU is not set # CONFIG_RCU_TRACE is not set CONFIG_RCU_FANOUT=32 # CONFIG_RCU_FANOUT_EXACT is not set # CONFIG_RCU_FAST_NO_HZ is not set # CONFIG_TREE_RCU_TRACE is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=15 # CONFIG_CGROUPS is not set CONFIG_NAMESPACES=y CONFIG_UTS_NS=y CONFIG_IPC_NS=y CONFIG_USER_NS=y CONFIG_PID_NS=y CONFIG_NET_NS=y # CONFIG_SCHED_AUTOGROUP is not set # CONFIG_SYSFS_DEPRECATED is not set CONFIG_RELAY=y # CONFIG_BLK_DEV_INITRD is not set # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y CONFIG_ANON_INODES=y CONFIG_EXPERT=y # CONFIG_EMBEDDED is not set # CONFIG_SYSCTL_SYSCALL is not set CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set # CONFIG_KALLSYMS_EXTRA_PASS is not set CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y CONFIG_SHMEM=y CONFIG_AIO=y CONFIG_HAVE_PERF_EVENTS=y CONFIG_PERF_USE_VMALLOC=y # # Kernel Performance Events And Counters # # CONFIG_PERF_EVENTS is not set # CONFIG_PERF_COUNTERS is not set CONFIG_VM_EVENT_COUNTERS=y CONFIG_PCI_QUIRKS=y # CONFIG_COMPAT_BRK is not set CONFIG_SLAB=y # CONFIG_SLUB is not set # CONFIG_SLOB is not set # CONFIG_PROFILING is not set CONFIG_HAVE_OPROFILE=y # CONFIG_KPROBES is not set # CONFIG_JUMP_LABEL is not set CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KRETPROBES=y CONFIG_HAVE_DMA_ATTRS=y CONFIG_USE_GENERIC_SMP_HELPERS=y CONFIG_HAVE_DMA_API_DEBUG=y CONFIG_HAVE_ARCH_JUMP_LABEL=y # # GCOV-based kernel profiling # # CONFIG_GCOV_KERNEL is not set CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 CONFIG_MODULES=y # CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_LBDAF=y # CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_INTEGRITY is not set # # IO Schedulers # CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y # CONFIG_DEFAULT_DEADLINE is not set CONFIG_DEFAULT_CFQ=y # CONFIG_DEFAULT_NOOP is not set CONFIG_DEFAULT_IOSCHED="cfq" # CONFIG_INLINE_SPIN_TRYLOCK is not set # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set # CONFIG_INLINE_SPIN_LOCK is not set # CONFIG_INLINE_SPIN_LOCK_BH is not set # CONFIG_INLINE_SPIN_LOCK_IRQ is not set # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set CONFIG_INLINE_SPIN_UNLOCK=y # CONFIG_INLINE_SPIN_UNLOCK_BH is not set CONFIG_INLINE_SPIN_UNLOCK_IRQ=y # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_READ_TRYLOCK is not set # CONFIG_INLINE_READ_LOCK is not set # CONFIG_INLINE_READ_LOCK_BH is not set # CONFIG_INLINE_READ_LOCK_IRQ is not set # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set CONFIG_INLINE_READ_UNLOCK=y # CONFIG_INLINE_READ_UNLOCK_BH is not set CONFIG_INLINE_READ_UNLOCK_IRQ=y # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_WRITE_TRYLOCK is not set # CONFIG_INLINE_WRITE_LOCK is not set # CONFIG_INLINE_WRITE_LOCK_BH is not set # CONFIG_INLINE_WRITE_LOCK_IRQ is not set # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set CONFIG_INLINE_WRITE_UNLOCK=y # CONFIG_INLINE_WRITE_UNLOCK_BH is not set CONFIG_INLINE_WRITE_UNLOCK_IRQ=y # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set CONFIG_MUTEX_SPIN_ON_OWNER=y # CONFIG_FREEZER is not set # # Bus options (PCI, PCMCIA, EISA, ISA, TC) # CONFIG_HW_HAS_PCI=y CONFIG_PCI=y CONFIG_PCI_DOMAINS=y # CONFIG_ARCH_SUPPORTS_MSI is not set # CONFIG_PCI_DEBUG is not set # CONFIG_PCI_STUB is not set # CONFIG_PCI_IOV is not set CONFIG_MMU=y CONFIG_I8253=y # CONFIG_PCCARD is not set # CONFIG_HOTPLUG_PCI is not set # CONFIG_RAPIDIO is not set # # Executable file formats # CONFIG_BINFMT_ELF=y CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y # CONFIG_HAVE_AOUT is not set # CONFIG_BINFMT_MISC is not set CONFIG_TRAD_SIGNALS=y # # Power management options # # CONFIG_PM_RUNTIME is not set CONFIG_MIPS_EXTERNAL_TIMER=y CONFIG_NET=y # # Networking options # CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_XFRM=y CONFIG_XFRM_USER=m # CONFIG_XFRM_SUB_POLICY is not set CONFIG_XFRM_MIGRATE=y # CONFIG_XFRM_STATISTICS is not set CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=y CONFIG_NET_KEY_MIGRATE=y CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y # CONFIG_IP_FIB_TRIE_STATS is not set CONFIG_IP_MULTIPLE_TABLES=y CONFIG_IP_ROUTE_MULTIPATH=y CONFIG_IP_ROUTE_VERBOSE=y CONFIG_IP_ROUTE_CLASSID=y CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y CONFIG_IP_PNP_BOOTP=y # CONFIG_IP_PNP_RARP is not set CONFIG_NET_IPIP=m # CONFIG_NET_IPGRE_DEMUX is not set CONFIG_IP_MROUTE=y # CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y # CONFIG_ARPD is not set CONFIG_SYN_COOKIES=y CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m CONFIG_INET_XFRM_TUNNEL=m CONFIG_INET_TUNNEL=m CONFIG_INET_XFRM_MODE_TRANSPORT=m CONFIG_INET_XFRM_MODE_TUNNEL=m CONFIG_INET_XFRM_MODE_BEET=y CONFIG_INET_LRO=y CONFIG_INET_DIAG=y CONFIG_INET_TCP_DIAG=y # CONFIG_TCP_CONG_ADVANCED is not set CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic" CONFIG_TCP_MD5SIG=y CONFIG_IPV6=m CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_OPTIMISTIC_DAD=y CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m # CONFIG_IPV6_MIP6 is not set CONFIG_INET6_XFRM_TUNNEL=m CONFIG_INET6_TUNNEL=m CONFIG_INET6_XFRM_MODE_TRANSPORT=m CONFIG_INET6_XFRM_MODE_TUNNEL=m CONFIG_INET6_XFRM_MODE_BEET=m # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set CONFIG_IPV6_SIT=m # CONFIG_IPV6_SIT_6RD is not set CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=m # CONFIG_IPV6_MULTIPLE_TABLES is not set CONFIG_IPV6_MROUTE=y # CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set CONFIG_IPV6_PIMSM_V2=y CONFIG_NETWORK_SECMARK=y # CONFIG_NETWORK_PHY_TIMESTAMPING is not set CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y CONFIG_BRIDGE_NETFILTER=y # # Core Netfilter Configuration # CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NF_CONNTRACK=m CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y CONFIG_NF_CONNTRACK_EVENTS=y # CONFIG_NF_CONNTRACK_TIMESTAMP is not set CONFIG_NF_CT_PROTO_DCCP=m CONFIG_NF_CT_PROTO_GRE=m CONFIG_NF_CT_PROTO_SCTP=m CONFIG_NF_CT_PROTO_UDPLITE=m CONFIG_NF_CONNTRACK_AMANDA=m CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_H323=m CONFIG_NF_CONNTRACK_IRC=m # CONFIG_NF_CONNTRACK_NETBIOS_NS is not set # CONFIG_NF_CONNTRACK_SNMP is not set CONFIG_NF_CONNTRACK_PPTP=m CONFIG_NF_CONNTRACK_SANE=m CONFIG_NF_CONNTRACK_SIP=m CONFIG_NF_CONNTRACK_TFTP=m CONFIG_NF_CT_NETLINK=m CONFIG_NETFILTER_TPROXY=m CONFIG_NETFILTER_XTABLES=m # # Xtables combined modules # CONFIG_NETFILTER_XT_MARK=m CONFIG_NETFILTER_XT_CONNMARK=m # # Xtables targets # # CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m CONFIG_NETFILTER_XT_TARGET_CONNMARK=m # CONFIG_NETFILTER_XT_TARGET_CONNSECMARK is not set # CONFIG_NETFILTER_XT_TARGET_CT is not set # CONFIG_NETFILTER_XT_TARGET_DSCP is not set CONFIG_NETFILTER_XT_TARGET_HL=m # CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set CONFIG_NETFILTER_XT_TARGET_MARK=m CONFIG_NETFILTER_XT_TARGET_NFLOG=m CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m CONFIG_NETFILTER_XT_TARGET_NOTRACK=m CONFIG_NETFILTER_XT_TARGET_RATEEST=m # CONFIG_NETFILTER_XT_TARGET_TEE is not set CONFIG_NETFILTER_XT_TARGET_TPROXY=m CONFIG_NETFILTER_XT_TARGET_TRACE=m CONFIG_NETFILTER_XT_TARGET_SECMARK=m CONFIG_NETFILTER_XT_TARGET_TCPMSS=m CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m # # Xtables matches # # CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set # CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set CONFIG_NETFILTER_XT_MATCH_COMMENT=m CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m CONFIG_NETFILTER_XT_MATCH_CONNMARK=m CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m # CONFIG_NETFILTER_XT_MATCH_CPU is not set CONFIG_NETFILTER_XT_MATCH_DCCP=m # CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set # CONFIG_NETFILTER_XT_MATCH_DSCP is not set CONFIG_NETFILTER_XT_MATCH_ESP=m CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m CONFIG_NETFILTER_XT_MATCH_HELPER=m CONFIG_NETFILTER_XT_MATCH_HL=m CONFIG_NETFILTER_XT_MATCH_IPRANGE=m # CONFIG_NETFILTER_XT_MATCH_IPVS is not set CONFIG_NETFILTER_XT_MATCH_LENGTH=m CONFIG_NETFILTER_XT_MATCH_LIMIT=m CONFIG_NETFILTER_XT_MATCH_MAC=m CONFIG_NETFILTER_XT_MATCH_MARK=m CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m # CONFIG_NETFILTER_XT_MATCH_OSF is not set CONFIG_NETFILTER_XT_MATCH_OWNER=m CONFIG_NETFILTER_XT_MATCH_POLICY=m # CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m CONFIG_NETFILTER_XT_MATCH_QUOTA=m CONFIG_NETFILTER_XT_MATCH_RATEEST=m CONFIG_NETFILTER_XT_MATCH_REALM=m CONFIG_NETFILTER_XT_MATCH_RECENT=m CONFIG_NETFILTER_XT_MATCH_SCTP=m CONFIG_NETFILTER_XT_MATCH_SOCKET=m CONFIG_NETFILTER_XT_MATCH_STATE=m CONFIG_NETFILTER_XT_MATCH_STATISTIC=m CONFIG_NETFILTER_XT_MATCH_STRING=m CONFIG_NETFILTER_XT_MATCH_TCPMSS=m CONFIG_NETFILTER_XT_MATCH_TIME=m CONFIG_NETFILTER_XT_MATCH_U32=m # CONFIG_IP_SET is not set CONFIG_IP_VS=m CONFIG_IP_VS_IPV6=y # CONFIG_IP_VS_DEBUG is not set CONFIG_IP_VS_TAB_BITS=12 # # IPVS transport protocol load balancing support # CONFIG_IP_VS_PROTO_TCP=y CONFIG_IP_VS_PROTO_UDP=y CONFIG_IP_VS_PROTO_AH_ESP=y CONFIG_IP_VS_PROTO_ESP=y CONFIG_IP_VS_PROTO_AH=y # CONFIG_IP_VS_PROTO_SCTP is not set # # IPVS scheduler # CONFIG_IP_VS_RR=m CONFIG_IP_VS_WRR=m CONFIG_IP_VS_LC=m CONFIG_IP_VS_WLC=m CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m CONFIG_IP_VS_SH=m CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m # # IPVS application helper # CONFIG_IP_VS_FTP=m CONFIG_IP_VS_NFCT=y # CONFIG_IP_VS_PE_SIP is not set # # IP: Netfilter Configuration # CONFIG_NF_DEFRAG_IPV4=m CONFIG_NF_CONNTRACK_IPV4=m CONFIG_NF_CONNTRACK_PROC_COMPAT=y CONFIG_IP_NF_QUEUE=m CONFIG_IP_NF_IPTABLES=m CONFIG_IP_NF_MATCH_AH=m CONFIG_IP_NF_MATCH_ECN=m CONFIG_IP_NF_MATCH_TTL=m CONFIG_IP_NF_FILTER=m CONFIG_IP_NF_TARGET_REJECT=m CONFIG_IP_NF_TARGET_LOG=m CONFIG_IP_NF_TARGET_ULOG=m CONFIG_NF_NAT=m CONFIG_NF_NAT_NEEDED=y CONFIG_IP_NF_TARGET_MASQUERADE=m CONFIG_IP_NF_TARGET_NETMAP=m CONFIG_IP_NF_TARGET_REDIRECT=m CONFIG_NF_NAT_PROTO_DCCP=m CONFIG_NF_NAT_PROTO_GRE=m CONFIG_NF_NAT_PROTO_UDPLITE=m CONFIG_NF_NAT_PROTO_SCTP=m CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_TFTP=m CONFIG_NF_NAT_AMANDA=m CONFIG_NF_NAT_PPTP=m CONFIG_NF_NAT_H323=m CONFIG_NF_NAT_SIP=m CONFIG_IP_NF_MANGLE=m CONFIG_IP_NF_TARGET_CLUSTERIP=m CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_TTL=m CONFIG_IP_NF_RAW=m CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m # # IPv6: Netfilter Configuration # CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_CONNTRACK_IPV6=m CONFIG_IP6_NF_QUEUE=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m CONFIG_IP6_NF_MATCH_FRAG=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_HL=m CONFIG_IP6_NF_MATCH_IPV6HEADER=m CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_RT=m CONFIG_IP6_NF_TARGET_HL=m CONFIG_IP6_NF_TARGET_LOG=m CONFIG_IP6_NF_FILTER=m CONFIG_IP6_NF_TARGET_REJECT=m CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_RAW=m CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m CONFIG_BRIDGE_EBT_T_FILTER=m CONFIG_BRIDGE_EBT_T_NAT=m CONFIG_BRIDGE_EBT_802_3=m CONFIG_BRIDGE_EBT_AMONG=m CONFIG_BRIDGE_EBT_ARP=m CONFIG_BRIDGE_EBT_IP=m CONFIG_BRIDGE_EBT_IP6=m CONFIG_BRIDGE_EBT_LIMIT=m CONFIG_BRIDGE_EBT_MARK=m CONFIG_BRIDGE_EBT_PKTTYPE=m CONFIG_BRIDGE_EBT_STP=m CONFIG_BRIDGE_EBT_VLAN=m CONFIG_BRIDGE_EBT_ARPREPLY=m CONFIG_BRIDGE_EBT_DNAT=m CONFIG_BRIDGE_EBT_MARK_T=m CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_ULOG=m CONFIG_BRIDGE_EBT_NFLOG=m # CONFIG_IP_DCCP is not set CONFIG_IP_SCTP=m # CONFIG_SCTP_DBG_MSG is not set # CONFIG_SCTP_DBG_OBJCNT is not set # CONFIG_SCTP_HMAC_NONE is not set # CONFIG_SCTP_HMAC_SHA1 is not set CONFIG_SCTP_HMAC_MD5=y # CONFIG_RDS is not set # CONFIG_TIPC is not set # CONFIG_ATM is not set # CONFIG_L2TP is not set CONFIG_STP=m CONFIG_GARP=m CONFIG_BRIDGE=m CONFIG_BRIDGE_IGMP_SNOOPING=y # CONFIG_NET_DSA is not set CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_GVRP=y # CONFIG_DECNET is not set CONFIG_LLC=m # CONFIG_LLC2 is not set # CONFIG_IPX is not set CONFIG_ATALK=m CONFIG_DEV_APPLETALK=m CONFIG_IPDDP=m CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP_DECAP=y # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set CONFIG_PHONET=m # CONFIG_IEEE802154 is not set CONFIG_NET_SCHED=y # # Queueing/Scheduling # CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_HTB=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_PRIO=m # CONFIG_NET_SCH_MULTIQ is not set CONFIG_NET_SCH_RED=m # CONFIG_NET_SCH_SFB is not set CONFIG_NET_SCH_SFQ=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCH_NETEM=m # CONFIG_NET_SCH_DRR is not set # CONFIG_NET_SCH_MQPRIO is not set # CONFIG_NET_SCH_CHOKE is not set CONFIG_NET_SCH_INGRESS=m # # Classification # CONFIG_NET_CLS=y CONFIG_NET_CLS_BASIC=m CONFIG_NET_CLS_TCINDEX=m CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_U32=m # CONFIG_CLS_U32_PERF is not set # CONFIG_CLS_U32_MARK is not set CONFIG_NET_CLS_RSVP=m CONFIG_NET_CLS_RSVP6=m CONFIG_NET_CLS_FLOW=m # CONFIG_NET_EMATCH is not set CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_POLICE=y CONFIG_NET_ACT_GACT=m CONFIG_GACT_PROB=y CONFIG_NET_ACT_MIRRED=m CONFIG_NET_ACT_IPT=m CONFIG_NET_ACT_NAT=m CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_SIMP=m CONFIG_NET_ACT_SKBEDIT=m # CONFIG_NET_ACT_CSUM is not set CONFIG_NET_CLS_IND=y CONFIG_NET_SCH_FIFO=y # CONFIG_DCB is not set # CONFIG_BATMAN_ADV is not set CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_XPS=y # # Network testing # # CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set # CONFIG_CAN is not set # CONFIG_IRDA is not set # CONFIG_BT is not set # CONFIG_AF_RXRPC is not set CONFIG_FIB_RULES=y CONFIG_WIRELESS=y CONFIG_WIRELESS_EXT=y CONFIG_WEXT_CORE=y CONFIG_WEXT_PROC=y CONFIG_WEXT_SPY=y CONFIG_WEXT_PRIV=y CONFIG_CFG80211=m # CONFIG_NL80211_TESTMODE is not set # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set # CONFIG_CFG80211_REG_DEBUG is not set CONFIG_CFG80211_DEFAULT_PS=y # CONFIG_CFG80211_DEBUGFS is not set # CONFIG_CFG80211_INTERNAL_REGDB is not set CONFIG_CFG80211_WEXT=y CONFIG_WIRELESS_EXT_SYSFS=y CONFIG_LIB80211=m CONFIG_LIB80211_CRYPT_WEP=m CONFIG_LIB80211_CRYPT_CCMP=m CONFIG_LIB80211_CRYPT_TKIP=m # CONFIG_LIB80211_DEBUG is not set CONFIG_MAC80211=m CONFIG_MAC80211_HAS_RC=y CONFIG_MAC80211_RC_PID=y CONFIG_MAC80211_RC_MINSTREL=y CONFIG_MAC80211_RC_MINSTREL_HT=y CONFIG_MAC80211_RC_DEFAULT_PID=y # CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set CONFIG_MAC80211_RC_DEFAULT="pid" CONFIG_MAC80211_MESH=y # CONFIG_MAC80211_DEBUGFS is not set # CONFIG_MAC80211_DEBUG_MENU is not set # CONFIG_WIMAX is not set CONFIG_RFKILL=m # CONFIG_RFKILL_INPUT is not set # CONFIG_NET_9P is not set # CONFIG_CAIF is not set # CONFIG_CEPH_LIB is not set # # Device Drivers # # # Generic Driver Options # CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_DEVTMPFS is not set CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="" # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set # CONFIG_SYS_HYPERVISOR is not set CONFIG_CONNECTOR=m CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set # CONFIG_MTD_TESTS is not set CONFIG_MTD_PARTITIONS=y # CONFIG_MTD_REDBOOT_PARTS is not set # CONFIG_MTD_CMDLINE_PARTS is not set # CONFIG_MTD_AR7_PARTS is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=y CONFIG_MTD_BLKDEVS=y CONFIG_MTD_BLOCK=y # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set # CONFIG_RFD_FTL is not set # CONFIG_SSFDC is not set # CONFIG_SM_FTL is not set CONFIG_MTD_OOPS=m # CONFIG_MTD_SWAP is not set # # RAM/ROM/Flash chip drivers # CONFIG_MTD_CFI=y # CONFIG_MTD_JEDECPROBE is not set CONFIG_MTD_GEN_PROBE=y # CONFIG_MTD_CFI_ADV_OPTIONS is not set CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set CONFIG_MTD_CFI_I1=y CONFIG_MTD_CFI_I2=y # CONFIG_MTD_CFI_I4 is not set # CONFIG_MTD_CFI_I8 is not set CONFIG_MTD_CFI_INTELEXT=y CONFIG_MTD_CFI_AMDSTD=y CONFIG_MTD_CFI_STAA=y CONFIG_MTD_CFI_UTIL=y # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set # # Mapping drivers for chip access # # CONFIG_MTD_COMPLEX_MAPPINGS is not set CONFIG_MTD_PHYSMAP=y # CONFIG_MTD_PHYSMAP_COMPAT is not set # CONFIG_MTD_INTEL_VR_NOR is not set # CONFIG_MTD_PLATRAM is not set # # Self-contained MTD device drivers # # CONFIG_MTD_PMC551 is not set # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set # CONFIG_MTD_MTDRAM is not set # CONFIG_MTD_BLOCK2MTD is not set # # Disk-On-Chip Device Drivers # # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set # CONFIG_MTD_NAND is not set # CONFIG_MTD_ONENAND is not set # # LPDDR flash memory drivers # # CONFIG_MTD_LPDDR is not set CONFIG_MTD_UBI=m CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MTD_UBI_BEB_RESERVE=1 CONFIG_MTD_UBI_GLUEBI=m # CONFIG_MTD_UBI_DEBUG is not set # CONFIG_PARPORT is not set CONFIG_BLK_DEV=y CONFIG_BLK_DEV_FD=m # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set CONFIG_BLK_DEV_UMEM=m # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_CRYPTOLOOP=m # CONFIG_BLK_DEV_DRBD is not set CONFIG_BLK_DEV_NBD=m # CONFIG_BLK_DEV_SX8 is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=4096 # CONFIG_BLK_DEV_XIP is not set CONFIG_CDROM_PKTCDVD=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 # CONFIG_CDROM_PKTCDVD_WCACHE is not set CONFIG_ATA_OVER_ETH=m # CONFIG_BLK_DEV_HD is not set # CONFIG_BLK_DEV_RBD is not set # CONFIG_SENSORS_LIS3LV02D is not set # CONFIG_MISC_DEVICES is not set CONFIG_HAVE_IDE=y CONFIG_IDE=y # # Please see Documentation/ide/ide.txt for help/info on IDE drives # CONFIG_IDE_XFER_MODE=y CONFIG_IDE_ATAPI=y # CONFIG_BLK_DEV_IDE_SATA is not set CONFIG_IDE_GD=y CONFIG_IDE_GD_ATA=y # CONFIG_IDE_GD_ATAPI is not set CONFIG_BLK_DEV_IDECD=y CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y # CONFIG_BLK_DEV_IDETAPE is not set # CONFIG_IDE_TASK_IOCTL is not set CONFIG_IDE_PROC_FS=y # # IDE chipset support/bugfixes # CONFIG_IDE_GENERIC=y # CONFIG_BLK_DEV_PLATFORM is not set CONFIG_BLK_DEV_IDEDMA_SFF=y # # PCI IDE chipsets support # CONFIG_BLK_DEV_IDEPCI=y CONFIG_IDEPCI_PCIBUS_ORDER=y # CONFIG_BLK_DEV_OFFBOARD is not set CONFIG_BLK_DEV_GENERIC=y # CONFIG_BLK_DEV_OPTI621 is not set CONFIG_BLK_DEV_IDEDMA_PCI=y # CONFIG_BLK_DEV_AEC62XX is not set # CONFIG_BLK_DEV_ALI15X3 is not set # CONFIG_BLK_DEV_AMD74XX is not set # CONFIG_BLK_DEV_CMD64X is not set # CONFIG_BLK_DEV_TRIFLEX is not set # CONFIG_BLK_DEV_CS5520 is not set # CONFIG_BLK_DEV_CS5530 is not set # CONFIG_BLK_DEV_HPT366 is not set # CONFIG_BLK_DEV_JMICRON is not set # CONFIG_BLK_DEV_SC1200 is not set CONFIG_BLK_DEV_PIIX=y # CONFIG_BLK_DEV_IT8172 is not set CONFIG_BLK_DEV_IT8213=m # CONFIG_BLK_DEV_IT821X is not set # CONFIG_BLK_DEV_NS87415 is not set # CONFIG_BLK_DEV_PDC202XX_OLD is not set # CONFIG_BLK_DEV_PDC202XX_NEW is not set # CONFIG_BLK_DEV_SVWKS is not set # CONFIG_BLK_DEV_SIIMAGE is not set # CONFIG_BLK_DEV_SLC90E66 is not set # CONFIG_BLK_DEV_TRM290 is not set # CONFIG_BLK_DEV_VIA82CXXX is not set CONFIG_BLK_DEV_TC86C001=m CONFIG_BLK_DEV_IDEDMA=y # # SCSI device support # CONFIG_SCSI_MOD=m CONFIG_RAID_ATTRS=m CONFIG_SCSI=m CONFIG_SCSI_DMA=y CONFIG_SCSI_TGT=m CONFIG_SCSI_NETLINK=y CONFIG_SCSI_PROC_FS=y # # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=m CONFIG_CHR_DEV_ST=m CONFIG_CHR_DEV_OSST=m CONFIG_BLK_DEV_SR=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_CHR_DEV_SG=m # CONFIG_CHR_DEV_SCH is not set CONFIG_SCSI_MULTI_LUN=y CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_LOGGING=y CONFIG_SCSI_SCAN_ASYNC=y CONFIG_SCSI_WAIT_SCAN=m # # SCSI Transports # CONFIG_SCSI_SPI_ATTRS=m CONFIG_SCSI_FC_ATTRS=m # CONFIG_SCSI_FC_TGT_ATTRS is not set CONFIG_SCSI_ISCSI_ATTRS=m # CONFIG_SCSI_SAS_ATTRS is not set # CONFIG_SCSI_SAS_LIBSAS is not set # CONFIG_SCSI_SRP_ATTRS is not set CONFIG_SCSI_LOWLEVEL=y CONFIG_ISCSI_TCP=m # CONFIG_ISCSI_BOOT_SYSFS is not set # CONFIG_SCSI_CXGB3_ISCSI is not set # CONFIG_SCSI_CXGB4_ISCSI is not set # CONFIG_SCSI_BNX2_ISCSI is not set # CONFIG_SCSI_BNX2X_FCOE is not set # CONFIG_BE2ISCSI is not set CONFIG_BLK_DEV_3W_XXXX_RAID=m # CONFIG_SCSI_HPSA is not set CONFIG_SCSI_3W_9XXX=m # CONFIG_SCSI_3W_SAS is not set CONFIG_SCSI_ACARD=m CONFIG_SCSI_AACRAID=m CONFIG_SCSI_AIC7XXX=m CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 CONFIG_AIC7XXX_RESET_DELAY_MS=15000 # CONFIG_AIC7XXX_DEBUG_ENABLE is not set CONFIG_AIC7XXX_DEBUG_MASK=0 CONFIG_AIC7XXX_REG_PRETTY_PRINT=y # CONFIG_SCSI_AIC7XXX_OLD is not set # CONFIG_SCSI_AIC79XX is not set # CONFIG_SCSI_AIC94XX is not set # CONFIG_SCSI_MVSAS is not set # CONFIG_SCSI_DPT_I2O is not set # CONFIG_SCSI_ADVANSYS is not set # CONFIG_SCSI_ARCMSR is not set # CONFIG_MEGARAID_NEWGEN is not set # CONFIG_MEGARAID_LEGACY is not set # CONFIG_MEGARAID_SAS is not set # CONFIG_SCSI_MPT2SAS is not set # CONFIG_SCSI_HPTIOP is not set # CONFIG_SCSI_BUSLOGIC is not set # CONFIG_LIBFC is not set # CONFIG_LIBFCOE is not set # CONFIG_FCOE is not set # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_EATA is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_IPS is not set # CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_STEX is not set # CONFIG_SCSI_SYM53C8XX_2 is not set # CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_QLA_FC is not set # CONFIG_SCSI_QLA_ISCSI is not set # CONFIG_SCSI_LPFC is not set # CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_PMCRAID is not set # CONFIG_SCSI_PM8001 is not set # CONFIG_SCSI_SRP is not set # CONFIG_SCSI_BFA_FC is not set # CONFIG_SCSI_DH is not set # CONFIG_SCSI_OSD_INITIATOR is not set # CONFIG_ATA is not set CONFIG_MD=y CONFIG_BLK_DEV_MD=m CONFIG_MD_LINEAR=m CONFIG_MD_RAID0=m CONFIG_MD_RAID1=m CONFIG_MD_RAID10=m CONFIG_MD_RAID456=m # CONFIG_MULTICORE_RAID456 is not set CONFIG_MD_MULTIPATH=m CONFIG_MD_FAULTY=m CONFIG_BLK_DEV_DM=m # CONFIG_DM_DEBUG is not set CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=m CONFIG_DM_MIRROR=m # CONFIG_DM_RAID is not set # CONFIG_DM_LOG_USERSPACE is not set CONFIG_DM_ZERO=m CONFIG_DM_MULTIPATH=m # CONFIG_DM_MULTIPATH_QL is not set # CONFIG_DM_MULTIPATH_ST is not set # CONFIG_DM_DELAY is not set # CONFIG_DM_UEVENT is not set # CONFIG_DM_FLAKEY is not set # CONFIG_TARGET_CORE is not set # CONFIG_FUSION is not set # # IEEE 1394 (FireWire) support # # CONFIG_FIREWIRE is not set # CONFIG_FIREWIRE_NOSY is not set # CONFIG_I2O is not set CONFIG_NETDEVICES=y CONFIG_IFB=m CONFIG_DUMMY=m CONFIG_BONDING=m CONFIG_MACVLAN=m # CONFIG_MACVTAP is not set CONFIG_EQUALIZER=m CONFIG_TUN=m CONFIG_VETH=m # CONFIG_ARCNET is not set CONFIG_MII=y CONFIG_PHYLIB=m # # MII PHY device drivers # CONFIG_MARVELL_PHY=m CONFIG_DAVICOM_PHY=m CONFIG_QSEMI_PHY=m CONFIG_LXT_PHY=m CONFIG_CICADA_PHY=m CONFIG_VITESSE_PHY=m CONFIG_SMSC_PHY=m CONFIG_BROADCOM_PHY=m # CONFIG_BCM63XX_PHY is not set CONFIG_ICPLUS_PHY=m CONFIG_REALTEK_PHY=m # CONFIG_NATIONAL_PHY is not set # CONFIG_STE10XP is not set # CONFIG_LSI_ET1011C_PHY is not set # CONFIG_MICREL_PHY is not set CONFIG_MDIO_BITBANG=m CONFIG_NET_ETHERNET=y CONFIG_AX88796=m # CONFIG_AX88796_93CX6 is not set # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_CASSINI is not set # CONFIG_NET_VENDOR_3COM is not set # CONFIG_SMC91X is not set # CONFIG_DM9000 is not set # CONFIG_ETHOC is not set # CONFIG_SMSC911X is not set # CONFIG_DNET is not set # CONFIG_NET_TULIP is not set # CONFIG_HP100 is not set # CONFIG_IBM_NEW_EMAC_ZMII is not set # CONFIG_IBM_NEW_EMAC_RGMII is not set # CONFIG_IBM_NEW_EMAC_TAH is not set # CONFIG_IBM_NEW_EMAC_EMAC4 is not set # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set CONFIG_NET_PCI=y CONFIG_PCNET32=y # CONFIG_AMD8111_ETH is not set # CONFIG_ADAPTEC_STARFIRE is not set # CONFIG_KSZ884X_PCI is not set # CONFIG_B44 is not set # CONFIG_FORCEDETH is not set CONFIG_TC35815=m # CONFIG_E100 is not set # CONFIG_FEALNX is not set # CONFIG_NATSEMI is not set # CONFIG_NE2K_PCI is not set # CONFIG_8139CP is not set # CONFIG_8139TOO is not set # CONFIG_R6040 is not set # CONFIG_SIS900 is not set # CONFIG_EPIC100 is not set # CONFIG_SMSC9420 is not set # CONFIG_SUNDANCE is not set # CONFIG_TLAN is not set # CONFIG_KS8851_MLL is not set # CONFIG_VIA_RHINE is not set # CONFIG_SC92031 is not set # CONFIG_ATL2 is not set CONFIG_NETDEV_1000=y # CONFIG_ACENIC is not set # CONFIG_DL2K is not set # CONFIG_E1000 is not set # CONFIG_E1000E is not set # CONFIG_IP1000 is not set # CONFIG_IGB is not set # CONFIG_IGBVF is not set # CONFIG_NS83820 is not set # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set # CONFIG_R8169 is not set # CONFIG_SIS190 is not set # CONFIG_SKGE is not set # CONFIG_SKY2 is not set # CONFIG_VIA_VELOCITY is not set # CONFIG_TIGON3 is not set # CONFIG_BNX2 is not set # CONFIG_CNIC is not set # CONFIG_QLA3XXX is not set # CONFIG_ATL1 is not set # CONFIG_ATL1E is not set # CONFIG_ATL1C is not set # CONFIG_JME is not set # CONFIG_STMMAC_ETH is not set # CONFIG_PCH_GBE is not set CONFIG_NETDEV_10000=y CONFIG_MDIO=m # CONFIG_CHELSIO_T1 is not set CONFIG_CHELSIO_T3=m # CONFIG_CHELSIO_T4 is not set # CONFIG_CHELSIO_T4VF is not set # CONFIG_ENIC is not set # CONFIG_IXGBE is not set # CONFIG_IXGB is not set # CONFIG_S2IO is not set # CONFIG_VXGE is not set # CONFIG_MYRI10GE is not set CONFIG_NETXEN_NIC=m # CONFIG_NIU is not set # CONFIG_MLX4_EN is not set # CONFIG_MLX4_CORE is not set # CONFIG_TEHUTI is not set # CONFIG_BNX2X is not set # CONFIG_QLCNIC is not set # CONFIG_QLGE is not set # CONFIG_BNA is not set # CONFIG_SFC is not set # CONFIG_BE2NET is not set # CONFIG_TR is not set CONFIG_WLAN=y # CONFIG_LIBERTAS_THINFIRM is not set # CONFIG_AIRO is not set CONFIG_ATMEL=m CONFIG_PCI_ATMEL=m CONFIG_PRISM54=m # CONFIG_RTL8180 is not set # CONFIG_ADM8211 is not set # CONFIG_MAC80211_HWSIM is not set # CONFIG_MWL8K is not set # CONFIG_ATH_COMMON is not set # CONFIG_B43 is not set # CONFIG_B43LEGACY is not set CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y CONFIG_HOSTAP_FIRMWARE_NVRAM=y CONFIG_HOSTAP_PLX=m CONFIG_HOSTAP_PCI=m CONFIG_IPW2100=m CONFIG_IPW2100_MONITOR=y # CONFIG_IPW2100_DEBUG is not set CONFIG_IPW2200=m CONFIG_IPW2200_MONITOR=y CONFIG_IPW2200_RADIOTAP=y CONFIG_IPW2200_PROMISCUOUS=y CONFIG_IPW2200_QOS=y # CONFIG_IPW2200_DEBUG is not set CONFIG_LIBIPW=m # CONFIG_LIBIPW_DEBUG is not set # CONFIG_IWLAGN is not set # CONFIG_IWLWIFI_LEGACY is not set CONFIG_LIBERTAS=m # CONFIG_LIBERTAS_DEBUG is not set # CONFIG_LIBERTAS_MESH is not set CONFIG_HERMES=m # CONFIG_HERMES_PRISM is not set CONFIG_HERMES_CACHE_FW_ON_INIT=y CONFIG_PLX_HERMES=m CONFIG_TMD_HERMES=m CONFIG_NORTEL_HERMES=m # CONFIG_P54_COMMON is not set # CONFIG_RT2X00 is not set # CONFIG_RTL8192CE is not set # CONFIG_WL1251 is not set # CONFIG_WL12XX_MENU is not set # # Enable WiMAX (Networking options) to see the WiMAX drivers # # CONFIG_WAN is not set # # CAIF transport drivers # # CONFIG_FDDI is not set # CONFIG_HIPPI is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set # CONFIG_NET_FC is not set # CONFIG_NETCONSOLE is not set # CONFIG_NETPOLL is not set # CONFIG_NET_POLL_CONTROLLER is not set # CONFIG_VMXNET3 is not set # CONFIG_ISDN is not set # CONFIG_PHONE is not set # # Input device support # CONFIG_INPUT=y # CONFIG_INPUT_FF_MEMLESS is not set # CONFIG_INPUT_POLLDEV is not set # CONFIG_INPUT_SPARSEKMAP is not set # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_EVDEV is not set # CONFIG_INPUT_EVBUG is not set # # Input Device Drivers # # CONFIG_INPUT_KEYBOARD is not set # CONFIG_INPUT_MOUSE is not set # CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_TABLET is not set # CONFIG_INPUT_TOUCHSCREEN is not set # CONFIG_INPUT_MISC is not set # # Hardware I/O ports # CONFIG_SERIO=y # CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set # CONFIG_SERIO_RAW is not set # CONFIG_SERIO_ALTERA_PS2 is not set # CONFIG_SERIO_PS2MULT is not set # CONFIG_GAMEPORT is not set # # Character devices # CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_UNIX98_PTYS=y # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 # CONFIG_SERIAL_NONSTANDARD is not set # CONFIG_NOZOMI is not set # CONFIG_N_GSM is not set CONFIG_DEVKMEM=y # # Serial drivers # CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_NR_UARTS=4 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 # CONFIG_SERIAL_8250_EXTENDED is not set # # Non-8250 serial port support # # CONFIG_SERIAL_MFD_HSU is not set CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_JSM is not set # CONFIG_SERIAL_TIMBERDALE is not set # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set # CONFIG_SERIAL_PCH_UART is not set # CONFIG_TTY_PRINTK is not set # CONFIG_IPMI_HANDLER is not set CONFIG_HW_RANDOM=m # CONFIG_HW_RANDOM_TIMERIOMEM is not set # CONFIG_R3964 is not set # CONFIG_APPLICOM is not set # CONFIG_RAW_DRIVER is not set # CONFIG_TCG_TPM is not set CONFIG_DEVPORT=y # CONFIG_RAMOOPS is not set # CONFIG_I2C is not set # CONFIG_SPI is not set # # PPS support # # CONFIG_PPS is not set # # PPS generators support # # CONFIG_W1 is not set # CONFIG_POWER_SUPPLY is not set # CONFIG_HWMON is not set # CONFIG_THERMAL is not set # CONFIG_WATCHDOG is not set CONFIG_SSB_POSSIBLE=y # # Sonics Silicon Backplane # # CONFIG_SSB is not set CONFIG_MFD_SUPPORT=y # CONFIG_MFD_CORE is not set # CONFIG_MFD_SM501 is not set # CONFIG_HTC_PASIC3 is not set # CONFIG_MFD_TMIO is not set # CONFIG_ABX500_CORE is not set # CONFIG_LPC_SCH is not set # CONFIG_MFD_RDC321X is not set # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_MFD_VX855 is not set # CONFIG_REGULATOR is not set # CONFIG_MEDIA_SUPPORT is not set # # Graphics support # CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=16 # CONFIG_DRM is not set # CONFIG_STUB_POULSBO is not set # CONFIG_VGASTATE is not set # CONFIG_VIDEO_OUTPUT_CONTROL is not set CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set # CONFIG_FB_DDC is not set # CONFIG_FB_BOOT_VESA_SUPPORT is not set CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set # CONFIG_FB_SYS_FILLRECT is not set # CONFIG_FB_SYS_COPYAREA is not set # CONFIG_FB_SYS_IMAGEBLIT is not set # CONFIG_FB_FOREIGN_ENDIAN is not set # CONFIG_FB_SYS_FOPS is not set # CONFIG_FB_WMT_GE_ROPS is not set # CONFIG_FB_SVGALIB is not set # CONFIG_FB_MACMODES is not set # CONFIG_FB_BACKLIGHT is not set # CONFIG_FB_MODE_HELPERS is not set # CONFIG_FB_TILEBLITTING is not set # # Frame buffer hardware drivers # CONFIG_FB_CIRRUS=y # CONFIG_FB_PM2 is not set # CONFIG_FB_CYBER2000 is not set # CONFIG_FB_ASILIANT is not set # CONFIG_FB_IMSTT is not set # CONFIG_FB_UVESA is not set # CONFIG_FB_S1D13XXX is not set # CONFIG_FB_NVIDIA is not set # CONFIG_FB_RIVA is not set # CONFIG_FB_MATROX is not set # CONFIG_FB_RADEON is not set # CONFIG_FB_ATY128 is not set # CONFIG_FB_ATY is not set # CONFIG_FB_S3 is not set # CONFIG_FB_SAVAGE is not set # CONFIG_FB_SIS is not set # CONFIG_FB_NEOMAGIC is not set # CONFIG_FB_KYRO is not set # CONFIG_FB_3DFX is not set # CONFIG_FB_VOODOO1 is not set # CONFIG_FB_VT8623 is not set # CONFIG_FB_TRIDENT is not set # CONFIG_FB_ARK is not set # CONFIG_FB_PM3 is not set # CONFIG_FB_CARMINE is not set # CONFIG_FB_VIRTUAL is not set # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set # CONFIG_FB_BROADSHEET is not set # CONFIG_BACKLIGHT_LCD_SUPPORT is not set # # Display device support # # CONFIG_DISPLAY_SUPPORT is not set # # Console display driver support # # CONFIG_VGA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set # CONFIG_FONTS is not set CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y # CONFIG_LOGO is not set # CONFIG_SOUND is not set CONFIG_HID_SUPPORT=y CONFIG_HID=m # CONFIG_HIDRAW is not set # CONFIG_HID_PID is not set # # Special HID drivers # CONFIG_USB_SUPPORT=y CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_EHCI=y # CONFIG_USB is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set # # Enable Host or Gadget support to see Inventra options # # # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may # # CONFIG_USB_GADGET is not set # # OTG and related infrastructure # # CONFIG_UWB is not set # CONFIG_MMC is not set # CONFIG_MEMSTICK is not set # CONFIG_NEW_LEDS is not set # CONFIG_NFC_DEVICES is not set # CONFIG_ACCESSIBILITY is not set # CONFIG_INFINIBAND is not set CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" # CONFIG_RTC_DEBUG is not set # # RTC interfaces # CONFIG_RTC_INTF_SYSFS=y CONFIG_RTC_INTF_PROC=y CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set # CONFIG_RTC_DRV_TEST is not set # # SPI RTC drivers # # # Platform RTC drivers # CONFIG_RTC_DRV_CMOS=y # CONFIG_RTC_DRV_DS1286 is not set # CONFIG_RTC_DRV_DS1511 is not set # CONFIG_RTC_DRV_DS1553 is not set # CONFIG_RTC_DRV_DS1742 is not set # CONFIG_RTC_DRV_STK17TA8 is not set # CONFIG_RTC_DRV_M48T86 is not set # CONFIG_RTC_DRV_M48T35 is not set # CONFIG_RTC_DRV_M48T59 is not set # CONFIG_RTC_DRV_MSM6242 is not set # CONFIG_RTC_DRV_BQ4802 is not set # CONFIG_RTC_DRV_RP5C01 is not set # CONFIG_RTC_DRV_V3020 is not set # # on-CPU RTC drivers # # CONFIG_DMADEVICES is not set # CONFIG_AUXDISPLAY is not set CONFIG_UIO=m CONFIG_UIO_CIF=m # CONFIG_UIO_PDRV is not set # CONFIG_UIO_PDRV_GENIRQ is not set # CONFIG_UIO_AEC is not set # CONFIG_UIO_SERCOS3 is not set # CONFIG_UIO_PCI_GENERIC is not set # CONFIG_UIO_NETX is not set # CONFIG_STAGING is not set # # File systems # CONFIG_EXT2_FS=y # CONFIG_EXT2_FS_XATTR is not set # CONFIG_EXT2_FS_XIP is not set CONFIG_EXT3_FS=y CONFIG_EXT3_DEFAULTS_TO_ORDERED=y CONFIG_EXT3_FS_XATTR=y # CONFIG_EXT3_FS_POSIX_ACL is not set # CONFIG_EXT3_FS_SECURITY is not set # CONFIG_EXT4_FS is not set CONFIG_JBD=y # CONFIG_JBD_DEBUG is not set CONFIG_FS_MBCACHE=y CONFIG_REISERFS_FS=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_PROC_INFO=y CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_REISERFS_FS_SECURITY=y CONFIG_JFS_FS=m CONFIG_JFS_POSIX_ACL=y CONFIG_JFS_SECURITY=y # CONFIG_JFS_DEBUG is not set # CONFIG_JFS_STATISTICS is not set CONFIG_XFS_FS=m CONFIG_XFS_QUOTA=y CONFIG_XFS_POSIX_ACL=y # CONFIG_XFS_RT is not set # CONFIG_XFS_DEBUG is not set # CONFIG_GFS2_FS is not set # CONFIG_BTRFS_FS is not set # CONFIG_NILFS2_FS is not set CONFIG_FS_POSIX_ACL=y CONFIG_EXPORTFS=y CONFIG_FILE_LOCKING=y CONFIG_FSNOTIFY=y CONFIG_DNOTIFY=y CONFIG_INOTIFY_USER=y # CONFIG_FANOTIFY is not set CONFIG_QUOTA=y # CONFIG_QUOTA_NETLINK_INTERFACE is not set CONFIG_PRINT_QUOTA_WARNING=y # CONFIG_QUOTA_DEBUG is not set CONFIG_QUOTA_TREE=y # CONFIG_QFMT_V1 is not set CONFIG_QFMT_V2=y CONFIG_QUOTACTL=y # CONFIG_AUTOFS4_FS is not set CONFIG_FUSE_FS=m # CONFIG_CUSE is not set # # Caches # # CONFIG_FSCACHE is not set # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=m CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems # CONFIG_FAT_FS=m CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" # CONFIG_NTFS_FS is not set # # Pseudo filesystems # CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_SYSFS=y CONFIG_TMPFS=y # CONFIG_TMPFS_POSIX_ACL is not set # CONFIG_HUGETLB_PAGE is not set # CONFIG_CONFIGFS_FS is not set CONFIG_MISC_FILESYSTEMS=y # CONFIG_ADFS_FS is not set CONFIG_AFFS_FS=m CONFIG_HFS_FS=m CONFIG_HFSPLUS_FS=m CONFIG_BEFS_FS=m # CONFIG_BEFS_DEBUG is not set CONFIG_BFS_FS=m CONFIG_EFS_FS=m CONFIG_JFFS2_FS=m CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y # CONFIG_JFFS2_FS_WBUF_VERIFY is not set # CONFIG_JFFS2_SUMMARY is not set CONFIG_JFFS2_FS_XATTR=y CONFIG_JFFS2_FS_POSIX_ACL=y CONFIG_JFFS2_FS_SECURITY=y CONFIG_JFFS2_COMPRESSION_OPTIONS=y CONFIG_JFFS2_ZLIB=y # CONFIG_JFFS2_LZO is not set CONFIG_JFFS2_RTIME=y CONFIG_JFFS2_RUBIN=y # CONFIG_JFFS2_CMODE_NONE is not set CONFIG_JFFS2_CMODE_PRIORITY=y # CONFIG_JFFS2_CMODE_SIZE is not set # CONFIG_JFFS2_CMODE_FAVOURLZO is not set # CONFIG_UBIFS_FS is not set # CONFIG_LOGFS is not set CONFIG_CRAMFS=m # CONFIG_SQUASHFS is not set CONFIG_VXFS_FS=m CONFIG_MINIX_FS=m CONFIG_MINIX_FS_NATIVE_ENDIAN=y # CONFIG_OMFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set CONFIG_ROMFS_FS=m CONFIG_ROMFS_BACKED_BY_BLOCK=y # CONFIG_ROMFS_BACKED_BY_MTD is not set # CONFIG_ROMFS_BACKED_BY_BOTH is not set CONFIG_ROMFS_ON_BLOCK=y # CONFIG_PSTORE is not set CONFIG_SYSV_FS=m CONFIG_UFS_FS=m # CONFIG_UFS_FS_WRITE is not set # CONFIG_UFS_DEBUG is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=y CONFIG_NFS_V3=y # CONFIG_NFS_V3_ACL is not set # CONFIG_NFS_V4 is not set CONFIG_ROOT_NFS=y CONFIG_NFSD=y CONFIG_NFSD_DEPRECATED=y CONFIG_NFSD_V3=y # CONFIG_NFSD_V3_ACL is not set # CONFIG_NFSD_V4 is not set CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_NFS_COMMON=y CONFIG_SUNRPC=y CONFIG_SUNRPC_GSS=y CONFIG_RPCSEC_GSS_KRB5=y # CONFIG_CEPH_FS is not set # CONFIG_CIFS is not set # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set # # Partition Types # # CONFIG_PARTITION_ADVANCED is not set CONFIG_MSDOS_PARTITION=y CONFIG_NLS=m CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m CONFIG_NLS_CODEPAGE_850=m CONFIG_NLS_CODEPAGE_852=m CONFIG_NLS_CODEPAGE_855=m CONFIG_NLS_CODEPAGE_857=m CONFIG_NLS_CODEPAGE_860=m CONFIG_NLS_CODEPAGE_861=m CONFIG_NLS_CODEPAGE_862=m CONFIG_NLS_CODEPAGE_863=m CONFIG_NLS_CODEPAGE_864=m CONFIG_NLS_CODEPAGE_865=m CONFIG_NLS_CODEPAGE_866=m CONFIG_NLS_CODEPAGE_869=m CONFIG_NLS_CODEPAGE_936=m CONFIG_NLS_CODEPAGE_950=m CONFIG_NLS_CODEPAGE_932=m CONFIG_NLS_CODEPAGE_949=m CONFIG_NLS_CODEPAGE_874=m CONFIG_NLS_ISO8859_8=m CONFIG_NLS_CODEPAGE_1250=m CONFIG_NLS_CODEPAGE_1251=m CONFIG_NLS_ASCII=m CONFIG_NLS_ISO8859_1=m CONFIG_NLS_ISO8859_2=m CONFIG_NLS_ISO8859_3=m CONFIG_NLS_ISO8859_4=m CONFIG_NLS_ISO8859_5=m CONFIG_NLS_ISO8859_6=m CONFIG_NLS_ISO8859_7=m CONFIG_NLS_ISO8859_9=m CONFIG_NLS_ISO8859_13=m CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_NLS_UTF8=m # # Kernel hacking # CONFIG_TRACE_IRQFLAGS_SUPPORT=y # CONFIG_PRINTK_TIME is not set CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 CONFIG_ENABLE_WARN_DEPRECATED=y CONFIG_ENABLE_MUST_CHECK=y CONFIG_FRAME_WARN=1024 # CONFIG_MAGIC_SYSRQ is not set # CONFIG_STRIP_ASM_SYMS is not set # CONFIG_UNUSED_SYMBOLS is not set CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_SHIRQ is not set # CONFIG_LOCKUP_DETECTOR is not set # CONFIG_HARDLOCKUP_DETECTOR is not set # CONFIG_DETECT_HUNG_TASK is not set CONFIG_SCHED_DEBUG=y # CONFIG_SCHEDSTATS is not set # CONFIG_TIMER_STATS is not set # CONFIG_DEBUG_OBJECTS is not set # CONFIG_DEBUG_SLAB is not set CONFIG_DEBUG_KMEMLEAK=y CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=400 # CONFIG_DEBUG_KMEMLEAK_TEST is not set # CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set # CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_RT_MUTEX_TESTER is not set # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_MUTEXES is not set # CONFIG_DEBUG_LOCK_ALLOC is not set # CONFIG_PROVE_LOCKING is not set # CONFIG_SPARSE_RCU_POINTER is not set # CONFIG_LOCK_STAT is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set CONFIG_STACKTRACE=y # CONFIG_DEBUG_KOBJECT is not set # CONFIG_DEBUG_INFO is not set # CONFIG_DEBUG_VM is not set # CONFIG_DEBUG_WRITECOUNT is not set # CONFIG_DEBUG_MEMORY_INIT is not set # CONFIG_DEBUG_LIST is not set # CONFIG_TEST_LIST_SORT is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set # CONFIG_DEBUG_CREDENTIALS is not set # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # CONFIG_LKDTM is not set # CONFIG_FAULT_INJECTION is not set # CONFIG_SYSCTL_SYSCALL_CHECK is not set # CONFIG_DEBUG_PAGEALLOC is not set CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_C_RECORDMCOUNT=y CONFIG_TRACING_SUPPORT=y # CONFIG_FTRACE is not set # CONFIG_DYNAMIC_DEBUG is not set # CONFIG_DMA_API_DEBUG is not set # CONFIG_ATOMIC64_SELFTEST is not set # CONFIG_ASYNC_RAID6_TEST is not set # CONFIG_SAMPLES is not set CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set # CONFIG_TEST_KSTRTOX is not set CONFIG_EARLY_PRINTK=y # CONFIG_CMDLINE_BOOL is not set # CONFIG_DEBUG_STACKOVERFLOW is not set # CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_RUNTIME_DEBUG is not set # CONFIG_DEBUG_ZBOOT is not set # CONFIG_SPINLOCK_TEST is not set # # Security options # # CONFIG_KEYS is not set # CONFIG_SECURITY_DMESG_RESTRICT is not set # CONFIG_SECURITY is not set # CONFIG_SECURITYFS is not set CONFIG_DEFAULT_SECURITY_DAC=y CONFIG_DEFAULT_SECURITY="" CONFIG_XOR_BLOCKS=m CONFIG_ASYNC_CORE=m CONFIG_ASYNC_MEMCPY=m CONFIG_ASYNC_XOR=m CONFIG_ASYNC_PQ=m CONFIG_ASYNC_RAID6_RECOV=m CONFIG_CRYPTO=y # # Crypto core or helper # CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=m CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_BLKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_PCOMP2=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y CONFIG_CRYPTO_GF128MUL=m CONFIG_CRYPTO_NULL=m # CONFIG_CRYPTO_PCRYPT is not set CONFIG_CRYPTO_WORKQUEUE=y CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_AUTHENC=m # CONFIG_CRYPTO_TEST is not set # # Authenticated Encryption with Associated Data # # CONFIG_CRYPTO_CCM is not set # CONFIG_CRYPTO_GCM is not set # CONFIG_CRYPTO_SEQIV is not set # # Block modes # CONFIG_CRYPTO_CBC=y # CONFIG_CRYPTO_CTR is not set # CONFIG_CRYPTO_CTS is not set CONFIG_CRYPTO_ECB=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_PCBC=m # CONFIG_CRYPTO_XTS is not set # # Hash modes # CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=m # CONFIG_CRYPTO_VMAC is not set # # Digest # CONFIG_CRYPTO_CRC32C=m # CONFIG_CRYPTO_GHASH is not set CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m # CONFIG_CRYPTO_RMD128 is not set # CONFIG_CRYPTO_RMD160 is not set # CONFIG_CRYPTO_RMD256 is not set # CONFIG_CRYPTO_RMD320 is not set CONFIG_CRYPTO_SHA1=m CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_TGR192=m CONFIG_CRYPTO_WP512=m # # Ciphers # CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_ANUBIS=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_CAMELLIA=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m # CONFIG_CRYPTO_SALSA20 is not set # CONFIG_CRYPTO_SEED is not set CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_TWOFISH_COMMON=m # # Compression # CONFIG_CRYPTO_DEFLATE=m # CONFIG_CRYPTO_ZLIB is not set # CONFIG_CRYPTO_LZO is not set # # Random Number Generation # # CONFIG_CRYPTO_ANSI_CPRNG is not set # CONFIG_CRYPTO_USER_API_HASH is not set # CONFIG_CRYPTO_USER_API_SKCIPHER is not set CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_DEV_HIFN_795X is not set # CONFIG_VIRTUALIZATION is not set # CONFIG_BINARY_PRINTF is not set # # Library routines # CONFIG_RAID6_PQ=m CONFIG_BITREVERSE=y CONFIG_GENERIC_FIND_LAST_BIT=y # CONFIG_CRC_CCITT is not set CONFIG_CRC16=m # CONFIG_CRC_T10DIF is not set CONFIG_CRC_ITU_T=m CONFIG_CRC32=y # CONFIG_CRC7 is not set CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=m CONFIG_ZLIB_DEFLATE=m # CONFIG_XZ_DEC is not set # CONFIG_XZ_DEC_BCJ is not set CONFIG_TEXTSEARCH=y CONFIG_TEXTSEARCH_KMP=m CONFIG_TEXTSEARCH_BM=m CONFIG_TEXTSEARCH_FSM=m CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAS_DMA=y CONFIG_CPU_RMAP=y CONFIG_NLATTR=y CONFIG_GENERIC_ATOMIC64=y CONFIG_AVERAGE=y ---x----x----x---x----x-----x----x----x---x---x > Furthermore, you can add some printks inside udp_init_table > and check what is really happening there. ([1]) Thanks. I will check it. Best Regards, Maxin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 11:03 ` Maxin John @ 2011-03-30 11:24 ` Daniel Baluta 2011-03-30 11:38 ` Catalin Marinas 2011-03-30 12:22 ` Eric Dumazet 0 siblings, 2 replies; 30+ messages in thread From: Daniel Baluta @ 2011-03-30 11:24 UTC (permalink / raw) To: Maxin John Cc: naveen yadav, linux-mips, linux-kernel, linux-mm, Catalin Marinas, Eric Dumazet We have: > UDP hash table entries: 128 (order: 0, 4096 bytes) > CONFIG_BASE_SMALL=0 udp_table_init looks like: if (!CONFIG_BASE_SMALL) table->hash = alloc_large_system_hash(name, .. &table->mask); /* * Make sure hash table has the minimum size */ Since CONFIG_BASE_SMALL is 0, we are allocating the hash using alloc_large_system Then: if (CONFIG_BASE_SMALL || table->mask < UDP_HTABLE_SIZE_MIN - 1) { table->hash = kmalloc(); table->mask is 127, and UDP_HTABLE_SIZE_MIN is 256, so we are allocating again table->hash without freeing already allocated memory. We could free table->hash, before allocating the memory with kmalloc. I don't fully understand the condition table->mask < UDP_HTABLE_SIZE_MIN - 1. Eric? thanks, Daniel. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 11:24 ` Daniel Baluta @ 2011-03-30 11:38 ` Catalin Marinas 2011-03-30 12:17 ` Maxin John 2011-03-30 12:22 ` Eric Dumazet 1 sibling, 1 reply; 30+ messages in thread From: Catalin Marinas @ 2011-03-30 11:38 UTC (permalink / raw) To: Daniel Baluta Cc: Maxin John, naveen yadav, linux-mips, linux-kernel, linux-mm, Eric Dumazet On Wed, 2011-03-30 at 12:24 +0100, Daniel Baluta wrote: > We have: > > > UDP hash table entries: 128 (order: 0, 4096 bytes) > > CONFIG_BASE_SMALL=0 > > udp_table_init looks like: > > if (!CONFIG_BASE_SMALL) > table->hash = alloc_large_system_hash(name, .. &table->mask); > /* > * Make sure hash table has the minimum size > */ > > Since CONFIG_BASE_SMALL is 0, we are allocating the hash using > alloc_large_system > Then: > if (CONFIG_BASE_SMALL || table->mask < UDP_HTABLE_SIZE_MIN - 1) { > table->hash = kmalloc(); > > table->mask is 127, and UDP_HTABLE_SIZE_MIN is 256, so we are allocating again > table->hash without freeing already allocated memory. Indeed (on my ARM system the reported UDP hash table entries is 512, so I don't get the memory leak). > We could free table->hash, before allocating the memory with kmalloc. > I don't fully understand the condition table->mask < UDP_HTABLE_SIZE_MIN - 1. We don't have the equivalent of free_large_system_hash(). Reordering the 'if' blocks may be better. -- Catalin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 11:38 ` Catalin Marinas @ 2011-03-30 12:17 ` Maxin John 2011-03-30 12:27 ` Eric Dumazet 0 siblings, 1 reply; 30+ messages in thread From: Maxin John @ 2011-03-30 12:17 UTC (permalink / raw) To: Catalin Marinas Cc: Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm, Eric Dumazet A quick observation from dmesg after placing printks in "net/ipv4/udp.c" for MIPS-malta CONFIG_BASE_SMALL : 0 table->mask : 127 UDP_HTABLE_SIZE_MIN : 256 dmesg: .... ... TCP: Hash tables configured (established 8192 bind 8192) TCP reno registered CONFIG_BASE_SMALL : 0 UDP hash table entries: 128 (order: 0, 4096 bytes) table->mask, UDP_HTABLE_SIZE_MIN : 127 256 CONFIG_BASE_SMALL : 0 UDP-Lite hash table entries: 128 (order: 0, 4096 bytes) table->mask, UDP_HTABLE_SIZE_MIN : 127 256 NET: Registered protocol family 1 .... .... printk(s) are placed in udp.c as listed below: diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 588f47a..ca7f6c6 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -2162,7 +2162,7 @@ __setup("uhash_entries=", set_uhash_entries); void __init udp_table_init(struct udp_table *table, const char *name) { unsigned int i; - + printk("CONFIG_BASE_SMALL : %d \n", CONFIG_BASE_SMALL); if (!CONFIG_BASE_SMALL) table->hash = alloc_large_system_hash(name, 2 * sizeof(struct udp_hslot), @@ -2175,6 +2175,8 @@ void __init udp_table_init(struct udp_table *table, const char *name) /* * Make sure hash table has the minimum size */ + printk("table->mask, UDP_HTABLE_SIZE_MIN : %d %d \n",table->mask,UDP_HTABLE_SIZE_MIN); + if (CONFIG_BASE_SMALL || table->mask < UDP_HTABLE_SIZE_MIN - 1) { table->hash = kmalloc(UDP_HTABLE_SIZE_MIN * 2 * sizeof(struct udp_hslot), GFP_KERNEL); ~ Best Regards, Maxin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 12:17 ` Maxin John @ 2011-03-30 12:27 ` Eric Dumazet 2011-03-30 12:40 ` Maxin John 2011-03-30 12:52 ` Daniel Baluta 0 siblings, 2 replies; 30+ messages in thread From: Eric Dumazet @ 2011-03-30 12:27 UTC (permalink / raw) To: Maxin John Cc: Catalin Marinas, Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm Le mercredi 30 mars 2011 A 13:17 +0100, Maxin John a A(C)crit : > A quick observation from dmesg after placing printks in > "net/ipv4/udp.c" for MIPS-malta > > CONFIG_BASE_SMALL : 0 > table->mask : 127 > UDP_HTABLE_SIZE_MIN : 256 > > dmesg: > .... > ... > TCP: Hash tables configured (established 8192 bind 8192) > TCP reno registered > CONFIG_BASE_SMALL : 0 > UDP hash table entries: 128 (order: 0, 4096 bytes) > table->mask, UDP_HTABLE_SIZE_MIN : 127 256 > CONFIG_BASE_SMALL : 0 > UDP-Lite hash table entries: 128 (order: 0, 4096 bytes) > table->mask, UDP_HTABLE_SIZE_MIN : 127 256 > NET: Registered protocol family 1 > .... > .... > > printk(s) are placed in udp.c as listed below: > > diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c > index 588f47a..ca7f6c6 100644 > --- a/net/ipv4/udp.c > +++ b/net/ipv4/udp.c > @@ -2162,7 +2162,7 @@ __setup("uhash_entries=", set_uhash_entries); > void __init udp_table_init(struct udp_table *table, const char *name) > { > unsigned int i; > - > + printk("CONFIG_BASE_SMALL : %d \n", CONFIG_BASE_SMALL); > if (!CONFIG_BASE_SMALL) > table->hash = alloc_large_system_hash(name, > 2 * sizeof(struct udp_hslot), > @@ -2175,6 +2175,8 @@ void __init udp_table_init(struct udp_table > *table, const char *name) > /* > * Make sure hash table has the minimum size > */ > + printk("table->mask, UDP_HTABLE_SIZE_MIN : %d %d > \n",table->mask,UDP_HTABLE_SIZE_MIN); > + > if (CONFIG_BASE_SMALL || table->mask < UDP_HTABLE_SIZE_MIN - 1) { > table->hash = kmalloc(UDP_HTABLE_SIZE_MIN * > 2 * sizeof(struct udp_hslot), GFP_KERNEL); > ~ How much memory do you have exactly on this machine ? alloc_large_system_hash() has no parameter to specify a minimum hash table, and UDP needs one. If you care about losing 8192 bytes of memory, you could boot with "uhash_entries=256" -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 12:27 ` Eric Dumazet @ 2011-03-30 12:40 ` Maxin John 2011-03-30 12:52 ` Daniel Baluta 1 sibling, 0 replies; 30+ messages in thread From: Maxin John @ 2011-03-30 12:40 UTC (permalink / raw) To: Eric Dumazet Cc: Catalin Marinas, Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm Hi, > How much memory do you have exactly on this machine ? debian-mips:~# cat /proc/meminfo MemTotal: 255500 kB MemFree: 214848 kB Buffers: 3116 kB Cached: 15960 kB SwapCached: 0 kB Active: 10332 kB Inactive: 12512 kB Active(anon): 3776 kB Inactive(anon): 2500 kB Active(file): 6556 kB Inactive(file): 10012 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 738952 kB SwapFree: 738952 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 3796 kB Mapped: 3300 kB Shmem: 2508 kB Slab: 16940 kB SReclaimable: 2884 kB SUnreclaim: 14056 kB KernelStack: 272 kB PageTables: 312 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 866700 kB Committed_AS: 36916 kB VmallocTotal: 1048372 kB VmallocUsed: 220 kB VmallocChunk: 1048140 kB > If you care about losing 8192 bytes of memory, you could boot with > > "uhash_entries=256" Thank you very much for your inputs. I will try booting with this option. Best Regards, Maxin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 12:27 ` Eric Dumazet 2011-03-30 12:40 ` Maxin John @ 2011-03-30 12:52 ` Daniel Baluta 2011-03-30 13:17 ` Maxin John 1 sibling, 1 reply; 30+ messages in thread From: Daniel Baluta @ 2011-03-30 12:52 UTC (permalink / raw) To: Catalin Marinas Cc: Maxin John, naveen yadav, linux-mips, linux-kernel, linux-mm, Eric Dumazet On Wed, Mar 30, 2011 at 3:27 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > Le mercredi 30 mars 2011 à 13:17 +0100, Maxin John a écrit : >> A quick observation from dmesg after placing printks in >> "net/ipv4/udp.c" for MIPS-malta >> >> CONFIG_BASE_SMALL : 0 >> table->mask : 127 >> UDP_HTABLE_SIZE_MIN : 256 >> >> dmesg: >> .... >> ... >> TCP: Hash tables configured (established 8192 bind 8192) >> TCP reno registered >> CONFIG_BASE_SMALL : 0 >> UDP hash table entries: 128 (order: 0, 4096 bytes) >> table->mask, UDP_HTABLE_SIZE_MIN : 127 256 >> CONFIG_BASE_SMALL : 0 >> UDP-Lite hash table entries: 128 (order: 0, 4096 bytes) >> table->mask, UDP_HTABLE_SIZE_MIN : 127 256 >> NET: Registered protocol family 1 >> .... >> .... >> >> printk(s) are placed in udp.c as listed below: >> >> diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c >> index 588f47a..ca7f6c6 100644 >> --- a/net/ipv4/udp.c >> +++ b/net/ipv4/udp.c >> @@ -2162,7 +2162,7 @@ __setup("uhash_entries=", set_uhash_entries); >> void __init udp_table_init(struct udp_table *table, const char *name) >> { >> unsigned int i; >> - >> + printk("CONFIG_BASE_SMALL : %d \n", CONFIG_BASE_SMALL); >> if (!CONFIG_BASE_SMALL) >> table->hash = alloc_large_system_hash(name, >> 2 * sizeof(struct udp_hslot), >> @@ -2175,6 +2175,8 @@ void __init udp_table_init(struct udp_table >> *table, const char *name) >> /* >> * Make sure hash table has the minimum size >> */ >> + printk("table->mask, UDP_HTABLE_SIZE_MIN : %d %d >> \n",table->mask,UDP_HTABLE_SIZE_MIN); >> + >> if (CONFIG_BASE_SMALL || table->mask < UDP_HTABLE_SIZE_MIN - 1) { >> table->hash = kmalloc(UDP_HTABLE_SIZE_MIN * >> 2 * sizeof(struct udp_hslot), GFP_KERNEL); >> ~ > > > How much memory do you have exactly on this machine ? > > alloc_large_system_hash() has no parameter to specify a minimum hash > table, and UDP needs one. > > If you care about losing 8192 bytes of memory, you could boot with I can live with this, but is bad practice to have leaks even small ones. Our concern was, to see if kmemleak with Maxin's patch generates false positives. So, I guess everything is fine regarding udp_init_table. We can move on, integrating MIPS support for kmemleak :). thanks, Daniel. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 12:52 ` Daniel Baluta @ 2011-03-30 13:17 ` Maxin John 2011-03-30 13:27 ` Eric Dumazet 0 siblings, 1 reply; 30+ messages in thread From: Maxin John @ 2011-03-30 13:17 UTC (permalink / raw) To: Daniel Baluta Cc: Catalin Marinas, naveen yadav, linux-mips, linux-kernel, linux-mm, Eric Dumazet Hi, I have compiled the kernel with below given modification in .config CONFIG_CMDLINE="uhash_entries=256" After booting with the new kernel, the "kmemleak" no longer complains about the "udp_table_init". However it do report another possible leak :) debian-mips:~# cat /sys/kernel/debug/kmemleak unreferenced object 0x8f085000 (size 4096): comm "swapper", pid 1, jiffies 4294937670 (age 1043.280s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<801ac7a8>] __kmalloc+0x130/0x180 [<80532500>] flow_cache_cpu_prepare+0x50/0xa8 [<8052378c>] flow_cache_init_global+0x90/0x138 [<80100584>] do_one_initcall+0x174/0x1e0 [<8050c348>] kernel_init+0xe4/0x174 [<80103d4c>] kernel_thread_helper+0x10/0x18 debian-mips:~# > So, I guess everything is fine regarding udp_init_table. We can move on, > integrating MIPS support for kmemleak :). > I completely agree with Daniel. Shall we move on and integrate the kmemleak support for MIPS ? Cheers, Maxin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 13:17 ` Maxin John @ 2011-03-30 13:27 ` Eric Dumazet 2011-03-30 14:07 ` Maxin John 2011-03-30 14:07 ` Catalin Marinas 0 siblings, 2 replies; 30+ messages in thread From: Eric Dumazet @ 2011-03-30 13:27 UTC (permalink / raw) To: Maxin John Cc: Daniel Baluta, Catalin Marinas, naveen yadav, linux-mips, linux-kernel, linux-mm Le mercredi 30 mars 2011 A 14:17 +0100, Maxin John a A(C)crit : > Hi, > > I have compiled the kernel with below given modification in .config > > CONFIG_CMDLINE="uhash_entries=256" > > After booting with the new kernel, the "kmemleak" no longer complains > about the "udp_table_init". > However it do report another possible leak :) > > debian-mips:~# cat /sys/kernel/debug/kmemleak > unreferenced object 0x8f085000 (size 4096): > comm "swapper", pid 1, jiffies 4294937670 (age 1043.280s) > hex dump (first 32 bytes): > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > backtrace: > [<801ac7a8>] __kmalloc+0x130/0x180 > [<80532500>] flow_cache_cpu_prepare+0x50/0xa8 > [<8052378c>] flow_cache_init_global+0x90/0x138 > [<80100584>] do_one_initcall+0x174/0x1e0 > [<8050c348>] kernel_init+0xe4/0x174 > [<80103d4c>] kernel_thread_helper+0x10/0x18 > debian-mips:~# Hmm, then MIPS kmemleak port might have a problem with percpu data ? fcp->hash_table = kzalloc_node(sz, GFP_KERNEL, cpu_to_node(cpu)); fcp is a per cpu "struct flow_cache_percpu" > I completely agree with Daniel. Shall we move on and integrate the > kmemleak support for MIPS ? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 13:27 ` Eric Dumazet @ 2011-03-30 14:07 ` Maxin John 2011-03-30 14:07 ` Catalin Marinas 1 sibling, 0 replies; 30+ messages in thread From: Maxin John @ 2011-03-30 14:07 UTC (permalink / raw) To: Eric Dumazet Cc: Daniel Baluta, Catalin Marinas, naveen yadav, linux-mips, linux-kernel, linux-mm Hi Eric, > Hmm, then MIPS kmemleak port might have a problem with percpu data ? > > fcp->hash_table = kzalloc_node(sz, GFP_KERNEL, cpu_to_node(cpu)); > > fcp is a per cpu "struct flow_cache_percpu" Thank you very much for the inputs. I will definitely investigate this. However, I think, the "basic" kmemleak support for MIPS is working as expected with the present patch. The kmemleak test case is also working as expected in MIPS target. So, as Daniel mentioned, shall we go ahead with integrating the kmemleak support for MIPS ? Please let me know your comments. Cheers, Maxin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 13:27 ` Eric Dumazet 2011-03-30 14:07 ` Maxin John @ 2011-03-30 14:07 ` Catalin Marinas 1 sibling, 0 replies; 30+ messages in thread From: Catalin Marinas @ 2011-03-30 14:07 UTC (permalink / raw) To: Eric Dumazet Cc: Maxin John, Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm On Wed, 2011-03-30 at 14:27 +0100, Eric Dumazet wrote: > Le mercredi 30 mars 2011 à 14:17 +0100, Maxin John a écrit : > > I have compiled the kernel with below given modification in .config > > > > CONFIG_CMDLINE="uhash_entries=256" > > > > After booting with the new kernel, the "kmemleak" no longer complains > > about the "udp_table_init". > > However it do report another possible leak :) > > > > debian-mips:~# cat /sys/kernel/debug/kmemleak > > unreferenced object 0x8f085000 (size 4096): > > comm "swapper", pid 1, jiffies 4294937670 (age 1043.280s) > > hex dump (first 32 bytes): > > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > > backtrace: > > [<801ac7a8>] __kmalloc+0x130/0x180 > > [<80532500>] flow_cache_cpu_prepare+0x50/0xa8 > > [<8052378c>] flow_cache_init_global+0x90/0x138 > > [<80100584>] do_one_initcall+0x174/0x1e0 > > [<8050c348>] kernel_init+0xe4/0x174 > > [<80103d4c>] kernel_thread_helper+0x10/0x18 > > debian-mips:~# > > Hmm, then MIPS kmemleak port might have a problem with percpu data ? > > fcp->hash_table = kzalloc_node(sz, GFP_KERNEL, cpu_to_node(cpu)); > > fcp is a per cpu "struct flow_cache_percpu" I can't figure out what it is. Kmemleak uses this block for scanning the percpu data: for_each_possible_cpu(i) scan_block(__per_cpu_start + per_cpu_offset(i), __per_cpu_end + per_cpu_offset(i), NULL, 1); The __per_cpu_* symbols seem to be correctly defined in the MIPS vmlinux.lds.S as it uses the PERCPU macro directly. Other chunks allocated via pcpu_mem_alloc() should be tracked by kmemleak and either reported as leaks or scanned (and not reporting subsequent blocks referred from the percpu memory). -- Catalin -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 11:24 ` Daniel Baluta 2011-03-30 11:38 ` Catalin Marinas @ 2011-03-30 12:22 ` Eric Dumazet 1 sibling, 0 replies; 30+ messages in thread From: Eric Dumazet @ 2011-03-30 12:22 UTC (permalink / raw) To: Daniel Baluta Cc: Maxin John, naveen yadav, linux-mips, linux-kernel, linux-mm, Catalin Marinas Le mercredi 30 mars 2011 A 14:24 +0300, Daniel Baluta a A(C)crit : > We have: > > > UDP hash table entries: 128 (order: 0, 4096 bytes) > > CONFIG_BASE_SMALL=0 > > udp_table_init looks like: > > if (!CONFIG_BASE_SMALL) > table->hash = alloc_large_system_hash(name, .. &table->mask); > /* > * Make sure hash table has the minimum size > */ > > Since CONFIG_BASE_SMALL is 0, we are allocating the hash using > alloc_large_system > Then: > if (CONFIG_BASE_SMALL || table->mask < UDP_HTABLE_SIZE_MIN - 1) { > table->hash = kmalloc(); > > table->mask is 127, and UDP_HTABLE_SIZE_MIN is 256, so we are allocating again > table->hash without freeing already allocated memory. > > We could free table->hash, before allocating the memory with kmalloc. > I don't fully understand the condition table->mask < UDP_HTABLE_SIZE_MIN - 1. > > Eric? There is nothing special. UDP algo needs a minimum hash table that alloc_large_system_hash() was not able to provide (???) As you spotted, there is no free_large-system_hash(), so we 'leak' the small hash table. If machine has not enough memory to provide such a small hash table, I suggest using CONFIG_BASE_SMALL, since : #define UDP_HTABLE_SIZE_MIN (CONFIG_BASE_SMALL ? 128 : 256) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-30 9:15 ` Catalin Marinas 2011-03-30 9:54 ` Daniel Baluta @ 2011-03-30 10:08 ` Maxin John 1 sibling, 0 replies; 30+ messages in thread From: Maxin John @ 2011-03-30 10:08 UTC (permalink / raw) To: Catalin Marinas Cc: Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm Hi, > If you for the kmemleak scan (via echo) a few times, do you get more > leaks? Yes. I am getting some leaks after the scan. > The udp_table_init() function looks like it could leak some > memory but I haven't seen it before. I'm not sure whether this is a > false positive or a real leak. As Daniel suggested, this could be a real leak . However, we need to confirm this. udp_table_init() -> alloc_large_system_hash() -> alloc_pages_exact() followed by kmemleak_alloc() > I think the last line should be more like: As per your suggestion, I have modified the patch. Signed-off-by: Maxin B. John <maxin.john@gmail.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> --- diff --git a/arch/mips/include/asm/cache.h b/arch/mips/include/asm/cache.h index 650ac9b..b4db69f 100644 --- a/arch/mips/include/asm/cache.h +++ b/arch/mips/include/asm/cache.h @@ -17,6 +17,6 @@ #define SMP_CACHE_SHIFT L1_CACHE_SHIFT #define SMP_CACHE_BYTES L1_CACHE_BYTES -#define __read_mostly __attribute__((__section__(".data.read_mostly"))) +#define __read_mostly __attribute__((__section__(".data..read_mostly"))) #endif /* _ASM_CACHE_H */ diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index 832afbb..4f10141 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S @@ -68,12 +68,14 @@ SECTIONS RODATA /* writeable */ + _sdata = .; /* Start of data section */ .data : { /* Data */ . = . + DATAOFFSET; /* for CONFIG_MAPPED_KERNEL */ INIT_TASK_DATA(PAGE_SIZE) NOSAVE_DATA CACHELINE_ALIGNED_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) + READ_MOSTLY_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) DATA_DATA CONSTRUCTORS } diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index df9234c..5042421 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -398,7 +398,7 @@ config SLUB_STATS config DEBUG_KMEMLEAK bool "Kernel memory leak detector" depends on DEBUG_KERNEL && EXPERIMENTAL && !MEMORY_HOTPLUG && \ - (X86 || ARM || PPC || S390 || SPARC64 || SUPERH || MICROBLAZE || TILE) + (X86 || ARM || PPC || MIPS || S390 || SPARC64 || SUPERH || MICROBLAZE || TILE) select DEBUG_FS if SYSFS select STACKTRACE if STACKTRACE_SUPPORT -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-29 19:36 ` Maxin John 2011-03-29 19:54 ` Daniel Baluta 2011-03-30 9:15 ` Catalin Marinas @ 2011-03-30 14:28 ` Ralf Baechle 2 siblings, 0 replies; 30+ messages in thread From: Ralf Baechle @ 2011-03-30 14:28 UTC (permalink / raw) To: Maxin John Cc: Catalin Marinas, Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm On Tue, Mar 29, 2011 at 10:36:02PM +0300, Maxin John wrote: Dropped as I've applied Catalin's patch https://patchwork.linux-mips.org/patch/2247/. Ralf -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: kmemleak for MIPS 2011-03-29 10:40 ` Catalin Marinas 2011-03-29 11:38 ` Maxin John @ 2011-03-30 14:21 ` Ralf Baechle 1 sibling, 0 replies; 30+ messages in thread From: Ralf Baechle @ 2011-03-30 14:21 UTC (permalink / raw) To: Catalin Marinas Cc: Maxin John, Daniel Baluta, naveen yadav, linux-mips, linux-kernel, linux-mm On Tue, Mar 29, 2011 at 11:40:06AM +0100, Catalin Marinas wrote: I applied this patch separately as it makes sense just by itself. Thanks, Ralf -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. 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@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2011-03-30 14:28 UTC | newest] Thread overview: 30+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-11-02 17:07 Kmemleak for mips Luis R. Rodriguez 2009-11-03 9:23 ` Catalin Marinas -- strict thread matches above, loose matches on Subject: below -- 2010-03-02 13:54 kmemleak for MIPS naveen yadav 2011-03-24 9:27 ` Daniel Baluta 2011-03-24 9:55 ` Catalin Marinas 2011-03-28 21:15 ` Maxin John 2011-03-29 10:40 ` Catalin Marinas 2011-03-29 11:38 ` Maxin John 2011-03-29 11:50 ` Catalin Marinas 2011-03-29 12:27 ` Maxin John 2011-03-29 19:36 ` Maxin John 2011-03-29 19:54 ` Daniel Baluta 2011-03-30 9:15 ` Catalin Marinas 2011-03-30 9:54 ` Daniel Baluta 2011-03-30 9:58 ` Catalin Marinas 2011-03-30 11:03 ` Maxin John 2011-03-30 11:24 ` Daniel Baluta 2011-03-30 11:38 ` Catalin Marinas 2011-03-30 12:17 ` Maxin John 2011-03-30 12:27 ` Eric Dumazet 2011-03-30 12:40 ` Maxin John 2011-03-30 12:52 ` Daniel Baluta 2011-03-30 13:17 ` Maxin John 2011-03-30 13:27 ` Eric Dumazet 2011-03-30 14:07 ` Maxin John 2011-03-30 14:07 ` Catalin Marinas 2011-03-30 12:22 ` Eric Dumazet 2011-03-30 10:08 ` Maxin John 2011-03-30 14:28 ` Ralf Baechle 2011-03-30 14:21 ` Ralf Baechle
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).