From: "Liam R. Howlett" <[email protected]>

Add more threads and reduce the timing of the readers to increase the
possibility of catching the rcu changes.  The test does not pass unless
the reader is seen.

Signed-off-by: Liam R. Howlett <[email protected]>
Signed-off-by: Vlastimil Babka <[email protected]>
---
 tools/testing/radix-tree/maple.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c
index 
2c0b3830125336af760768597d39ed07a2f8e92b..f6f923c9dc1039997953a94ec184c560b225c2d4
 100644
--- a/tools/testing/radix-tree/maple.c
+++ b/tools/testing/radix-tree/maple.c
@@ -35062,7 +35062,7 @@ void run_check_rcu_slowread(struct maple_tree *mt, 
struct rcu_test_struct *vals)
 
        int i;
        void *(*function)(void *);
-       pthread_t readers[20];
+       pthread_t readers[30];
        unsigned int index = vals->index;
 
        mt_set_in_rcu(mt);
@@ -35080,14 +35080,14 @@ void run_check_rcu_slowread(struct maple_tree *mt, 
struct rcu_test_struct *vals)
                }
        }
 
-       usleep(5); /* small yield to ensure all threads are at least started. */
+       usleep(3); /* small yield to ensure all threads are at least started. */
 
        while (index <= vals->last) {
                mtree_store(mt, index,
                            (index % 2 ? vals->entry2 : vals->entry3),
                            GFP_KERNEL);
                index++;
-               usleep(5);
+               usleep(2);
        }
 
        while (i--)
@@ -35098,6 +35098,7 @@ void run_check_rcu_slowread(struct maple_tree *mt, 
struct rcu_test_struct *vals)
        MT_BUG_ON(mt, !vals->seen_entry3);
        MT_BUG_ON(mt, !vals->seen_both);
 }
+
 static noinline void __init check_rcu_simulated(struct maple_tree *mt)
 {
        unsigned long i, nr_entries = 1000;

-- 
2.50.1


Reply via email to