From 992ea282c808bbae1240dda593391ef05dc544be Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Fri, 27 Apr 2012 08:00:32 +0000 Subject: [PATCH] ib_srpt: Process all I/O on thread context. Avoids that "HW pending for too long" messages are generated if writing takes long (merge r4219 from trunk). git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/2.2.x@4245 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- srpt/src/ib_srpt.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srpt/src/ib_srpt.c b/srpt/src/ib_srpt.c index 69f9ceb5b..1168a8b96 100644 --- a/srpt/src/ib_srpt.c +++ b/srpt/src/ib_srpt.c @@ -2017,7 +2017,7 @@ static int srpt_compl_thread(void *arg) barrier(); while (ch->state < CH_LIVE) { srpt_process_completion(ch->cq, ch, SCST_CONTEXT_THREAD, - SCST_CONTEXT_DIRECT); + SCST_CONTEXT_THREAD); schedule(); set_current_state(TASK_INTERRUPTIBLE); } @@ -2030,7 +2030,7 @@ static int srpt_compl_thread(void *arg) barrier(); while (!ch->last_wqe_received) { srpt_process_completion(ch->cq, ch, SCST_CONTEXT_THREAD, - SCST_CONTEXT_DIRECT); + SCST_CONTEXT_THREAD); schedule(); set_current_state(TASK_INTERRUPTIBLE); } @@ -2043,7 +2043,7 @@ static int srpt_compl_thread(void *arg) for (;;) { set_current_state(TASK_INTERRUPTIBLE); srpt_process_completion(ch->cq, ch, SCST_CONTEXT_THREAD, - SCST_CONTEXT_DIRECT); + SCST_CONTEXT_THREAD); if (atomic_read(&ch->scst_sess->sess_cmd_count) == 0) break; schedule_timeout(HZ / 10);