From 44978416d4f9d014083b138e03cc1b72b45a5d03 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Mon, 14 May 2012 17:56:49 +0000 Subject: [PATCH] ib_srpt: Slightly reduce the CPU load caused by the srpt thread(s). git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4300 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- srpt/src/ib_srpt.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/srpt/src/ib_srpt.c b/srpt/src/ib_srpt.c index 2c5fe7dba..3e110a9d5 100644 --- a/srpt/src/ib_srpt.c +++ b/srpt/src/ib_srpt.c @@ -144,9 +144,14 @@ MODULE_PARM_DESC(srpt_service_guid, "Using this value for ioc_guid, id_ext, and cm_listen_id" " instead of using the node_guid of the first HCA."); +/* + * Note: changing any of the two constants below into SCST_CONTEXT_DIRECT is + * dangerous because it might cause IB completions to be processed too late + * ("IB completion for idx has not been received in time"). + */ static const enum scst_exec_context srpt_new_iu_context = SCST_CONTEXT_THREAD; static const enum scst_exec_context srpt_xmt_rsp_context = SCST_CONTEXT_THREAD; -static const enum scst_exec_context srpt_send_context = SCST_CONTEXT_THREAD; +static const enum scst_exec_context srpt_send_context = SCST_CONTEXT_DIRECT; static struct ib_client srpt_client; static void srpt_unregister_mad_agent(struct srpt_device *sdev);