lib/Kconfig.debug: add list_sort debugging switch

While hunting a non-existing bug in 'list_sort()', I've improved the
'list_sort_test()' function which tests the 'list_sort()' library call.
Although at the end I found a bug in my code, but not in 'list_sort()', I
think my clean-ups and improvements are worth merging because they make
the test function better.

This patch:

Make the self-tests selectable via Kconfig rather than by manual enabling
of DEBUG_LIST_SORT.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Cc: Don Mullis <don.mullis@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Artem Bityutskiy 2010-10-26 14:23:05 -07:00 committed by Linus Torvalds
parent e2852ae825
commit 6d411e6c01
2 changed files with 11 additions and 2 deletions

View File

@ -748,6 +748,15 @@ config DEBUG_LIST
If unsure, say N. If unsure, say N.
config TEST_LIST_SORT
bool "Linked list sorting test"
depends on DEBUG_KERNEL
help
Enable this to turn on 'list_sort()' function test. This test is
executed only once during system boot, so affects only boot time.
If unsure, say N.
config DEBUG_SG config DEBUG_SG
bool "Debug SG table operations" bool "Debug SG table operations"
depends on DEBUG_KERNEL depends on DEBUG_KERNEL

View File

@ -141,7 +141,7 @@ void list_sort(void *priv, struct list_head *head,
} }
EXPORT_SYMBOL(list_sort); EXPORT_SYMBOL(list_sort);
#ifdef DEBUG_LIST_SORT #ifdef CONFIG_TEST_LIST_SORT
struct debug_el { struct debug_el {
struct list_head l_h; struct list_head l_h;
int value; int value;
@ -214,4 +214,4 @@ static int __init list_sort_test(void)
return 0; return 0;
} }
module_init(list_sort_test); module_init(list_sort_test);
#endif #endif /* CONFIG_TEST_LIST_SORT */