This should fix for soft lockup bugs triggered on slow systems.

Signed-off-by: Phil Sutter <p...@nwl.cc>
---
 lib/test_rhashtable.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/test_rhashtable.c b/lib/test_rhashtable.c
index 8c1ad1c..63654e3 100644
--- a/lib/test_rhashtable.c
+++ b/lib/test_rhashtable.c
@@ -236,6 +236,8 @@ static int thread_lookup_test(struct thread_data *tdata)
                               obj->value, key);
                        err++;
                }
+
+               cond_resched();
        }
        return err;
 }
@@ -251,6 +253,7 @@ static int threadfunc(void *data)
 
        for (i = 0; i < entries; i++) {
                tdata->objs[i].value = (tdata->id << 16) | i;
+               cond_resched();
                err = rhashtable_insert_fast(&ht, &tdata->objs[i].node,
                                             test_rht_params);
                if (err == -ENOMEM || err == -EBUSY) {
@@ -285,6 +288,8 @@ static int threadfunc(void *data)
                                goto out;
                        }
                        tdata->objs[i].value = TEST_INSERT_FAIL;
+
+                       cond_resched();
                }
                err = thread_lookup_test(tdata);
                if (err) {
-- 
2.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to