* [merged mm-nonmm-stable] lib-rbtree-add-random-seed.patch removed from -mm tree
@ 2025-03-17 5:32 Andrew Morton
0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2025-03-17 5:32 UTC (permalink / raw)
To: mm-commits, willy, michel, jgg, richard.weiyang, akpm
The quilt patch titled
Subject: lib/rbtree: add random seed
has been removed from the -mm tree. Its filename was
lib-rbtree-add-random-seed.patch
This patch was dropped because it was merged into the mm-nonmm-stable branch
of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: Wei Yang <richard.weiyang@gmail.com>
Subject: lib/rbtree: add random seed
Date: Mon, 10 Mar 2025 07:49:34 +0000
Current test use pseudo rand function with fixed seed, which means the
test data is the same pattern each time.
Add random seed parameter to randomize the test.
Link: https://lkml.kernel.org/r/20250310074938.26756-4-richard.weiyang@gmail.com
Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Michel Lespinasse <michel@lespinasse.org>
Cc: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/types.h | 1 +
lib/interval_tree_test.c | 3 ++-
lib/rbtree_test.c | 3 ++-
tools/include/linux/types.h | 2 ++
tools/testing/rbtree/interval_tree_test.c | 5 ++++-
tools/testing/rbtree/rbtree_test.c | 5 ++++-
6 files changed, 15 insertions(+), 4 deletions(-)
--- a/include/linux/types.h~lib-rbtree-add-random-seed
+++ a/include/linux/types.h
@@ -92,6 +92,7 @@ typedef unsigned char unchar;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;
+typedef unsigned long long ullong;
#ifndef __BIT_TYPES_DEFINED__
#define __BIT_TYPES_DEFINED__
--- a/lib/interval_tree_test.c~lib-rbtree-add-random-seed
+++ a/lib/interval_tree_test.c
@@ -19,6 +19,7 @@ __param(int, search_loops, 1000, "Number
__param(bool, search_all, false, "Searches will iterate all nodes in the tree");
__param(uint, max_endpoint, ~0, "Largest value for the interval's endpoint");
+__param(ullong, seed, 3141592653589793238ULL, "Random seed");
static struct rb_root_cached root = RB_ROOT_CACHED;
static struct interval_tree_node *nodes = NULL;
@@ -137,7 +138,7 @@ static int interval_tree_test_init(void)
return -ENOMEM;
}
- prandom_seed_state(&rnd, 3141592653589793238ULL);
+ prandom_seed_state(&rnd, seed);
basic_check();
search_check();
--- a/lib/rbtree_test.c~lib-rbtree-add-random-seed
+++ a/lib/rbtree_test.c
@@ -14,6 +14,7 @@
__param(int, nnodes, 100, "Number of nodes in the rb-tree");
__param(int, perf_loops, 1000, "Number of iterations modifying the rb-tree");
__param(int, check_loops, 100, "Number of iterations modifying and verifying the rb-tree");
+__param(ullong, seed, 3141592653589793238ULL, "Random seed");
struct test_node {
u32 key;
@@ -402,7 +403,7 @@ static int __init rbtree_test_init(void)
if (!nodes)
return -ENOMEM;
- prandom_seed_state(&rnd, 3141592653589793238ULL);
+ prandom_seed_state(&rnd, seed);
basic_check();
augmented_check();
--- a/tools/include/linux/types.h~lib-rbtree-add-random-seed
+++ a/tools/include/linux/types.h
@@ -42,6 +42,8 @@ typedef __s16 s16;
typedef __u8 u8;
typedef __s8 s8;
+typedef unsigned long long ullong;
+
#ifdef __CHECKER__
#define __bitwise __attribute__((bitwise))
#else
--- a/tools/testing/rbtree/interval_tree_test.c~lib-rbtree-add-random-seed
+++ a/tools/testing/rbtree/interval_tree_test.c
@@ -18,6 +18,7 @@ int usage(void)
fprintf(stderr, " -s: Number of iterations searching the tree\n");
fprintf(stderr, " -a: Searches will iterate all nodes in the tree\n");
fprintf(stderr, " -m: Largest value for the interval's endpoint\n");
+ fprintf(stderr, " -r: Random seed\n");
exit(-1);
}
@@ -31,7 +32,7 @@ int main(int argc, char **argv)
{
int opt;
- while ((opt = getopt(argc, argv, "n:p:q:s:am:")) != -1) {
+ while ((opt = getopt(argc, argv, "n:p:q:s:am:r:")) != -1) {
if (opt == 'n')
nnodes = strtoul(optarg, NULL, 0);
else if (opt == 'p')
@@ -44,6 +45,8 @@ int main(int argc, char **argv)
search_all = true;
else if (opt == 'm')
max_endpoint = strtoul(optarg, NULL, 0);
+ else if (opt == 'r')
+ seed = strtoul(optarg, NULL, 0);
else
usage();
}
--- a/tools/testing/rbtree/rbtree_test.c~lib-rbtree-add-random-seed
+++ a/tools/testing/rbtree/rbtree_test.c
@@ -16,6 +16,7 @@ int usage(void)
fprintf(stderr, " -n: Number of nodes in the rb-tree\n");
fprintf(stderr, " -p: Number of iterations modifying the rb-tree\n");
fprintf(stderr, " -c: Number of iterations modifying and verifying the rb-tree\n");
+ fprintf(stderr, " -r: Random seed\n");
exit(-1);
}
@@ -29,13 +30,15 @@ int main(int argc, char **argv)
{
int opt;
- while ((opt = getopt(argc, argv, "n:p:c:")) != -1) {
+ while ((opt = getopt(argc, argv, "n:p:c:r:")) != -1) {
if (opt == 'n')
nnodes = strtoul(optarg, NULL, 0);
else if (opt == 'p')
perf_loops = strtoul(optarg, NULL, 0);
else if (opt == 'c')
check_loops = strtoul(optarg, NULL, 0);
+ else if (opt == 'r')
+ seed = strtoul(optarg, NULL, 0);
else
usage();
}
_
Patches currently in -mm which might be from richard.weiyang@gmail.com are
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-03-17 5:32 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-17 5:32 [merged mm-nonmm-stable] lib-rbtree-add-random-seed.patch removed from -mm tree Andrew Morton
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.