public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Vladislav Bolkhovitin <vst-d+Crzxg7Rs0@public.gmane.org>
To: Bart Van Assche <bvanassche-HInyCGIudOg@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Roland Dreier <rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>,
	David Dillow <dave-i1Mk8JYDVaaSihdK6806/g@public.gmane.org>,
	Ralph Campbell
	<ralph.campbell-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH v2] IB/srp: use multiple CPU cores more effectively
Date: Wed, 04 Aug 2010 23:45:19 +0400	[thread overview]
Message-ID: <4C59C34F.2000400@vlnb.net> (raw)
In-Reply-To: <201008031602.37294.bvanassche-HInyCGIudOg@public.gmane.org>

Bart Van Assche, on 08/03/2010 06:02 PM wrote:
> SRP I/O with small block sizes causes a high CPU load. Processing IB
> completions on the context of a kernel thread instead of in interrupt context
> allows to process up to 25% more I/O operations per second. This patch does
> add a kernel parameter 'thread' that allows to specify whether to process IB
> completions in interrupt context or in kernel thread context. Also, the IB
> receive notification processing loop is rewritten as proposed earlier by Ralph
> Campbell (see also https://patchwork.kernel.org/patch/89426/). As the
> measurement results below show, rewriting the IB receive notification
> processing loop did not have a measurable impact on performance. Processing
> IB receive notifications in thread context however does have a measurable
> impact: workloads with I/O depth one are processed at most 10% slower and
> workloads with larger I/O depths are processed up to 25% faster.

I believe this is a wrong approach for this problem. You are 
workarounding it, not solving, and introducing a bad side effect of 
additional context switch per command, so increasing its processing 
latency. It doesn't matter that it can be switched off. Linux already 
has too many magic knobs where average user for long ago get lost.

If you want to spread requests post processing among several CPUs, you 
should consider real approaches for that:

1. Consider if it's possible to program hardware to spread IRQs for 
incoming packets among several CPU. At least some networking hardware 
allows that, so, I guess, IB also could.

2. Modify SCSI/block layer, so they perform the post processing not on 
the SIRQ level, but in the context of the processes which originated the 
corresponding request. This is, basically, what networking code is doing.

Thus, I'd say NACK to this patch. I don't like hackish workarounds 
instead of real solutions.

Sorry,
Vlad
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2010-08-04 19:45 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-03 14:02 [PATCH v2] IB/srp: use multiple CPU cores more effectively Bart Van Assche
     [not found] ` <201008031602.37294.bvanassche-HInyCGIudOg@public.gmane.org>
2010-08-04 19:45   ` Vladislav Bolkhovitin [this message]
     [not found]     ` <4C59C34F.2000400-d+Crzxg7Rs0@public.gmane.org>
2010-08-04 20:40       ` Roland Dreier
     [not found]         ` <adak4o66rir.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
2010-08-05 10:55           ` Bart Van Assche
     [not found]             ` <AANLkTikswdOfqoZOmSqmug4ue3KLv3V8NH9W1ME4tnfQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-05 16:38               ` How to know if SRQ is being used in SRP? Suresh Shelvapille
     [not found]                 ` <8BAAFD34FEF6492A8E3B43698E454B3D-+IkoAhRkys/CbFgIbBqbbjGjJy/sRE9J@public.gmane.org>
2010-08-05 17:42                   ` Ralph Campbell
     [not found]                     ` <1281030129.7414.16.camel-/vjeY7uYZjrPXfVEPVhPGq6RkeBMCJyt@public.gmane.org>
2010-08-05 18:05                       ` Suresh Shelvapille
     [not found]                         ` <D8F95421ED674F1DAC3A9A471854A748-+IkoAhRkys/CbFgIbBqbbjGjJy/sRE9J@public.gmane.org>
2010-08-05 18:16                           ` Roland Dreier
2010-08-05 18:08                   ` Roland Dreier
2010-08-05 16:58               ` [PATCH v2] IB/srp: use multiple CPU cores more effectively Roland Dreier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C59C34F.2000400@vlnb.net \
    --to=vst-d+crzxg7rs0@public.gmane.org \
    --cc=bvanassche-HInyCGIudOg@public.gmane.org \
    --cc=dave-i1Mk8JYDVaaSihdK6806/g@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=ralph.campbell-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org \
    --cc=rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox