From: don.mullis@gmail.com
To: Artem.Bityutskiy@nokia.com, aelder@sgi.com, airlied@linux.ie
Cc: stable@kernel.org, linux-kernel@vger.kernel.org,
Don Mullis <don.mullis@gmail.com>
Subject: [PATCH 03/10] lib/list_sort: selftest: cleanups: use random32(), rename variables
Date: Tue, 24 Aug 2010 08:47:24 -0700 [thread overview]
Message-ID: <20100824154857.216545600@gmail.com> (raw)
In-Reply-To: 20100824154721.995117660@gmail.com
[-- Attachment #1: lib_list_sort_-selftest_-cleanups_-use-random32___-rename-variables-2.patch --]
[-- Type: text/plain, Size: 2688 bytes --]
From: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
- Instead of using own pseudo-random generator, use generic linux
'random32()' function.
- Shorter macro name for test list length
- Use traditional name 'list' for 'struct list_head' instance.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: Don Mullis <don.mullis@gmail.com>
---
lib/list_sort.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
Index: linux-next/lib/list_sort.c
===================================================================
--- linux-next.orig/lib/list_sort.c 2010-08-23 22:51:19.684177611 -0700
+++ linux-next/lib/list_sort.c 2010-08-23 23:01:56.170177671 -0700
@@ -142,16 +142,17 @@ void list_sort(void *priv, struct list_h
EXPORT_SYMBOL(list_sort);
#ifdef CONFIG_TEST_LIST_SORT
+#include <linux/random.h>
struct debug_el {
- struct list_head l_h;
+ struct list_head list;
int value;
unsigned serial;
};
static int cmp(void *priv, struct list_head *a, struct list_head *b)
{
- return container_of(a, struct debug_el, l_h)->value
- - container_of(b, struct debug_el, l_h)->value;
+ return container_of(a, struct debug_el, list)->value
+ - container_of(b, struct debug_el, list)->value;
}
/*
@@ -162,7 +163,7 @@ static int cmp(void *priv, struct list_h
static int __init list_sort_test(void)
{
- int i, r = 1, count;
+ int i, count;
struct list_head *head = kmalloc(sizeof(*head), GFP_KERNEL);
struct list_head *cur;
@@ -173,11 +174,11 @@ static int __init list_sort_test(void)
struct debug_el *el = kmalloc(sizeof(*el), GFP_KERNEL);
BUG_ON(!el);
/* force some equivalencies */
- el->value = (r = (r * 725861) % 6599) % (LIST_SORT_TEST_LENGTH/3);
+ el->value = random32() % (LIST_SORT_TEST_LENGTH/3);
el->serial = i;
- el->l_h.prev = cur;
- cur->next = &el->l_h;
+ el->list.prev = cur;
+ cur->next = &el->list;
cur = cur->next;
}
head->prev = cur;
@@ -186,7 +187,7 @@ static int __init list_sort_test(void)
count = 1;
for (cur = head->next; cur->next != head; cur = cur->next) {
- struct debug_el *el = container_of(cur, struct debug_el, l_h);
+ struct debug_el *el = container_of(cur, struct debug_el, list);
int cmp_result = cmp(NULL, cur, cur->next);
if (cur->next->prev != cur) {
printk(KERN_ERR "list_sort() returned "
@@ -197,7 +198,7 @@ static int __init list_sort_test(void)
return 1;
} else if (cmp_result == 0 &&
el->serial >= container_of(cur->next,
- struct debug_el, l_h)->serial) {
+ struct debug_el, list)->serial) {
printk(KERN_ERR "list_sort() failed to preserve order "
"of equivalent elements!\n");
return 1;
next prev parent reply other threads:[~2010-08-24 16:02 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-24 15:47 [PATCH 00/10] lib/list_sort: strengthen self-test to expose a bug, then fix the bug don.mullis
2010-08-24 15:47 ` [PATCH 01/10] lib/list_sort: selftest: enabled with CONFIG_TEST_LIST_SORT don.mullis
2010-08-24 15:47 ` [PATCH 02/10] lib/list_sort: selftest: use more appropriate printk levels don.mullis
2010-08-24 15:47 ` don.mullis [this message]
2010-08-24 15:47 ` [PATCH 04/10] lib/list_sort: selftest: permit normal boot after test failure don.mullis
2010-08-24 15:47 ` [PATCH 05/10] lib/list_sort: selftest: improve printk wording don.mullis
2010-08-24 15:47 ` [PATCH 06/10] lib/list_sort: selftest: cleanups: use signed arithmetic, noinline don.mullis
2010-08-24 15:47 ` [PATCH 07/10] lib/list_sort: selftest: strengthen checking to expose corner case don.mullis
2010-08-24 15:47 ` [PATCH 08/10] lib/list_sort: selftest: stress algorithm with lists of various lengths don.mullis
2010-08-24 15:47 ` [PATCH 09/10] lib/list_sort: improve list_sort() function documentation don.mullis
2010-08-24 15:47 ` [PATCH 10/10] lib/list_sort: fix bad args in callback to clients cmp() don.mullis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100824154857.216545600@gmail.com \
--to=don.mullis@gmail.com \
--cc=Artem.Bityutskiy@nokia.com \
--cc=aelder@sgi.com \
--cc=airlied@linux.ie \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.