I noticed my machine was at a constant load average of 1. This was
because ib_create_fmr_pool calls kthread_create but does not immediately
wake the thread up.

Change to using kthread_run so we enter ib_fmr_cleanup_thread, set
TASK_INTERRUPTIBLE, then go to sleep.

Signed-off-by: Anton Blanchard <[EMAIL PROTECTED]>
---

diff --git a/drivers/infiniband/core/fmr_pool.c 
b/drivers/infiniband/core/fmr_pool.c
index d7f6452..2218450 100644
--- a/drivers/infiniband/core/fmr_pool.c
+++ b/drivers/infiniband/core/fmr_pool.c
@@ -291,7 +291,7 @@ struct ib_fmr_pool *ib_create_fmr_pool(struct ib_pd         
    *pd,
        atomic_set(&pool->flush_ser, 0);
        init_waitqueue_head(&pool->force_wait);
 
-       pool->thread = kthread_create(ib_fmr_cleanup_thread,
+       pool->thread = kthread_run(ib_fmr_cleanup_thread,
                                      pool,
                                      "ib_fmr(%s)",
                                      device->name);
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to