mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 13:14:07 +08:00
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: Meelis Roos <mroos@linux.ee> Signed-off-by: Thomas Graf <tgraf@suug.ch> Acked-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f61687c019
commit
685a015e44
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user