mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-19 03:31:26 +00:00
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
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user