summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2010-10-26 14:23:05 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-10-26 16:52:18 -0700
commit6d411e6c01608cefb7b9ea6712110538a1432f9f (patch)
tree5466fa9f8cd1ee9cdd1f5da01ae0ea14fe8437b7
parente2852ae825dba5ebc159788720baec1a28a57125 (diff)
downloadlinux-6d411e6c01608cefb7b9ea6712110538a1432f9f.tar.gz
linux-6d411e6c01608cefb7b9ea6712110538a1432f9f.tar.bz2
linux-6d411e6c01608cefb7b9ea6712110538a1432f9f.zip
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>
-rw-r--r--lib/Kconfig.debug9
-rw-r--r--lib/list_sort.c4
2 files changed, 11 insertions, 2 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 0d5c762532a5..95bda87a3e84 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -748,6 +748,15 @@ config DEBUG_LIST
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
bool "Debug SG table operations"
depends on DEBUG_KERNEL
diff --git a/lib/list_sort.c b/lib/list_sort.c
index a7616fa3162e..827794016bfb 100644
--- a/lib/list_sort.c
+++ b/lib/list_sort.c
@@ -141,7 +141,7 @@ void list_sort(void *priv, struct list_head *head,
}
EXPORT_SYMBOL(list_sort);
-#ifdef DEBUG_LIST_SORT
+#ifdef CONFIG_TEST_LIST_SORT
struct debug_el {
struct list_head l_h;
int value;
@@ -214,4 +214,4 @@ static int __init list_sort_test(void)
return 0;
}
module_init(list_sort_test);
-#endif
+#endif /* CONFIG_TEST_LIST_SORT */