From cd3f9bfea801082567b35e56a97771d075bad303 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sat, 21 Apr 2012 11:51:48 +0000 Subject: [PATCH] ib_srpt: Process receive completions on the context of an SCST worker thread instead of on the context of an srpt thread. Improves performance for many configurations but decreases performance up to 10% in some cases. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4219 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 258f86959..634bb752c 100644 --- a/srpt/src/ib_srpt.c +++ b/srpt/src/ib_srpt.c @@ -2011,7 +2011,7 @@ static int srpt_compl_thread(void *arg) #endif 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); } @@ -2027,7 +2027,7 @@ static int srpt_compl_thread(void *arg) #endif 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); } @@ -2040,7 +2040,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);