Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 685a015e authored by Thomas Graf's avatar Thomas Graf Committed by David S. Miller
Browse files

rhashtable: Allow other tasks to be scheduled in large lookup loops



Depending on system speed, the large lookup/insert/delete loops of the testsuite can
take a considerable amount of time to complete causing watchdog warnings to appear.
Allow other tasks to be scheduled throughout the loops.

Reported-by: default avatarMeelis Roos <mroos@linux.ee>
Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
Acked-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f61687c0
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include <linux/rcupdate.h>
#include <linux/rhashtable.h>
#include <linux/slab.h>
#include <linux/sched.h>

#define MAX_ENTRIES	1000000
#define TEST_INSERT_FAIL INT_MAX
@@ -87,6 +88,8 @@ static int __init test_rht_lookup(struct rhashtable *ht)
				return -EINVAL;
			}
		}

		cond_resched_rcu();
	}

	return 0;
@@ -160,6 +163,8 @@ static s64 __init test_rhashtable(struct rhashtable *ht)
		} else if (err) {
			return err;
		}

		cond_resched();
	}

	if (insert_fails)
@@ -183,6 +188,8 @@ static s64 __init test_rhashtable(struct rhashtable *ht)

			rhashtable_remove_fast(ht, &obj->node, test_rht_params);
		}

		cond_resched();
	}

	end = ktime_get_ns();