linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bart Van Assche <bvanassche-HInyCGIudOg@public.gmane.org>
To: David Dillow <dave-i1Mk8JYDVaaSihdK6806/g@public.gmane.org>
Cc: Roland Dreier <roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Sagi Grimberg <sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Sebastian Parschauer
	<sebastian.riemer-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>,
	linux-rdma <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH 5/5] IB/srp: Optimize completion queue polling
Date: Tue, 08 Jul 2014 15:49:23 +0200	[thread overview]
Message-ID: <53BBF6E3.3040403@acm.org> (raw)
In-Reply-To: <1404501176.16296.18.camel-a7a0dvSY7KqLUyTwlgNVppKKF0rrzTr+@public.gmane.org>

On 07/04/14 21:12, David Dillow wrote:
> On Fri, 2014-07-04 at 12:48 +0200, Bart Van Assche wrote:
>> Do you still have that measurement data available and/or the scripts
>> that were used to collect that data?
> 
> I had looked for them before posting and thought they were lost to the
> sands of time, but your pointer to the email gave me the proper search
> terms, thanks!
> 
> srptest.c is a simple test target that fakes a single-LUN, read-only
> target. It's special, in that it does not actually transfer any data, it
> just responds to the SRP command as though it had. It's intended to do
> the minimum work necessary to try push the IOP bottlenecks into the
> initiator.
> 
> run_tests.sh runs the battery, which was saved into an appropriately
> named file for parse.{sh,awk} to process into a csv, which gets turned
> into all.ods.
> 
> In the runs from then, batching (using your patch from that time) saw a
> 2 to 11% decrease in the number of IOPS, though it isn't perfectly clear
> what the noise level is from the pivot table in the spreadsheet. Using
> iopoll (weight of 128, 10, and with the batched CQ patch [not sure of
> weight, probably 10]) shows some scattered small improvements in IOPS
> (1-2%) but quickly fell to a 30+% loss of IOPS. I never had time to
> investigate further.
> 
> In none of the cases did the test target seem to become the bottleneck.
> 
>>  I'd like to have a look at which
>> test you ran such that I can repeat that test with Linus' master tree. A
>> lot has been changed since kernel 2.6.38 was released, e.g. several more
>> SCSI core and SRP initiator driver optimizations have been accepted
>> upstream since then.
> 
> Certainly, things have changed in the code, but I'll be pleasantly
> surprised if the relative results change much -- the only changes were
> the batching, and/or the conversion to iopoll.
> 
> Also, these tests were on QDR on Connect-X (maybe X2) hardware if I
> recall correctly. It would be interesting to see it on X3, or Connect-IB
> to see if they respond better to the changes -- I could easily see the
> batching being pretty hardware-specific in terms of tuning.

Hello Dave,

Thanks for digging up this information and also for sharing it. This is
interesting. What I noticed is that the in the SRP target driver
attached to the previous e-mail ("srptest.c") one command at a time is
processed. However, in the SRP target driver I ran my own tests with
(based on SCST) multiple SCSI commands are processed simultaneously by a
single thread. A finite state machine is associated with each SCSI
command and events like IB work completions trigger transitions of that
state machine. So that might be a possible explanation why my
measurement results were different.

However, before I repost (a variant of) this patch I will try to find a
way to combine the advantages of interrupt-based processing (low
latency) and the blk-iopoll approach (minimal time spent in interrupt
context).

Bart.

--
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:[~2014-07-08 13:49 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-03 13:44 [PATCH 0/5] SRP initiator patches for kernel 3.17 Bart Van Assche
     [not found] ` <53B55E55.5040907-HInyCGIudOg@public.gmane.org>
2014-07-03 13:45   ` [PATCH 1/5] scsi_transport_srp: Fix fast_io_fail_tmo=dev_loss_tmo=off behavior Bart Van Assche
2014-07-03 13:46   ` [PATCH 2/5] IB/srp: Fix deadlock between host removal and multipathd Bart Van Assche
2014-07-03 13:47   ` [PATCH 3/5] IB/srp: Fix residual handling Bart Van Assche
     [not found]     ` <53B55EE0.1050403-HInyCGIudOg@public.gmane.org>
2014-07-03 17:00       ` David Dillow
2014-07-03 13:47   ` [PATCH 4/5] IB/srp: Use P_Key cache for P_Key lookups Bart Van Assche
2014-07-03 13:48   ` [PATCH 5/5] IB/srp: Optimize completion queue polling Bart Van Assche
     [not found]     ` <53B55F1F.6000704-HInyCGIudOg@public.gmane.org>
2014-07-03 16:46       ` Or Gerlitz
     [not found]         ` <CAJZOPZ+RPe8B_KhKZ-8-S6g871-EKQSnExZgsZ2Z+bo-9L=P9w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-04  9:59           ` Bart Van Assche
     [not found]             ` <53B67B0E.5070004-HInyCGIudOg@public.gmane.org>
2014-07-08  7:55               ` Or Gerlitz
     [not found]                 ` <CAJZOPZJokriDMCAxnoXJo+RTRvtDquSMGpQThp8OoDnHjKU32A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-07-08  8:11                   ` Bart Van Assche
     [not found]                     ` <53BBA79A.9000000-HInyCGIudOg@public.gmane.org>
2014-07-08  9:24                       ` Or Gerlitz
2014-07-03 16:53       ` David Dillow
2014-07-03 17:05       ` David Dillow
     [not found]         ` <1404407103.32754.3.camel-a7a0dvSY7KqLUyTwlgNVppKKF0rrzTr+@public.gmane.org>
2014-07-04 10:48           ` Bart Van Assche
     [not found]             ` <1404501176.16296.18.camel@haswell.thedillows.org>
     [not found]               ` <1404501176.16296.18.camel-a7a0dvSY7KqLUyTwlgNVppKKF0rrzTr+@public.gmane.org>
2014-07-08 13:49                 ` Bart Van Assche [this message]
     [not found]                   ` <53BBF6E3.3040403-HInyCGIudOg@public.gmane.org>
2014-07-08 14:45                     ` Sagi Grimberg
2014-07-09  6:22                     ` David Dillow
2014-07-03 13:55   ` [PATCH 0/5] SRP initiator patches for kernel 3.17 James Bottomley
2014-07-03 17:03   ` David Dillow
2014-07-03 14:17 ` Bart Van Assche
     [not found]   ` <53B565EB.50301-HInyCGIudOg@public.gmane.org>
2014-07-03 14:19     ` Bart Van Assche
2014-07-03 15:06   ` Sagi Grimberg

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=53BBF6E3.3040403@acm.org \
    --to=bvanassche-hinycgiudog@public.gmane.org \
    --cc=dave-i1Mk8JYDVaaSihdK6806/g@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=sebastian.riemer-EIkl63zCoXaH+58JC4qpiA@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;
as well as URLs for NNTP newsgroup(s).