All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurence Oberman <loberman-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Cc: Bart Van Assche
	<Bart.VanAssche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Testing latest linux-next 4.9 ib_srp and ib_srpt sees I/O capped at 1MB and no merging
Date: Thu, 22 Dec 2016 08:17:58 -0500 (EST)	[thread overview]
Message-ID: <1661819060.8462293.1482412678092.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <20161222062321.GA30326-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>


Hello Christoph, apologies, here is a clear summary of the issue.

During testing of the latest linux-next with rc-10 block layer changes I noticed that I/O was being capped at 1MB size and no merging was seen.

The issue was not apparent on 4.8.0-rc8 or earlier.

dd if=/dev/sdw bs=4096k of=/dev/null iflag=direct

### RECORD    6 >>> ibclient <<< (1482266543.001) (Tue Dec 20 15:42:23 2016) ###
# DISK STATISTICS (/sec)
#                   <---------reads---------------><---------writes--------------><--------averages--------> Pct
#Time     Name       KBytes Merged  IOs Size  Wait  KBytes Merged  IOs Size  Wait  RWSize  QLen  Wait SvcTim Util
15:42:23 sdw         278528    201   68 4096     2       0      0    0    0     0    4096     1     2      2   206

Then git checkout master and build final test kernel
4.9.0+

This one clearly shows the I.O at 1MB and no merging.

# DISK STATISTICS (/sec)
#                   <---------reads---------------><---------writes--------------><--------averages--------> Pct
#Time     Name       KBytes Merged  IOs Size  Wait  KBytes Merged  IOs Size  Wait  RWSize  QLen  Wait SvcTim Util
22:12:48 sdw         1413120      0 1380 1024     2       0      0    0    0     0    1024     3     2      0   99
22:12:49 sdw         1409024      0 1376 1024     2       0      0    0    0     0    1024     3     2      0   98
22:12:50 sdw         1445888      0 1412 1024     2       0      0    0    0     0    1024     3     2      0   98
22:12:51 sdw         1429504      0 1396 1024     2       0      0    0    0     0    1024     3     2      0   98
22:12:52 sdw         1426432      0 1393 1024     2       0      0    0    0     0    1024     3     2      0   98
22:12:53 sdw         1408000      0 1375 1024     2       0      0    0    0     0    1024     3     2      0   98
                                ***      ****                                         ****

After multiple bisects (6000 revisions, 13 cycles), I got to this one.
Of course there are a huge amount of block layer changes as we know in rc10.

[loberman@ibclient linux-next.orig]$ git bisect bad
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[542ff7bf18c63cf403e36a4a1c71d86dc120d924] block: new direct I/O implementation

This commit is the one that seems to have changed the behavior.
Max I/O size restricted 1MB, even when 4MB I/O is requested, no merging seen.

This is not going to only affect SRP targets.

I will be happy to test any patches and the test bed is always in place.


commit 542ff7bf18c63cf403e36a4a1c71d86dc120d924
Author: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
Date:   Wed Nov 16 23:14:22 2016 -0700

    block: new direct I/O implementation
    
    Similar to the simple fast path, but we now need a dio structure to
    track multiple-bio completions.  It's basically a cut-down version
    of the new iomap-based direct I/O code for filesystems, but without
    all the logic to call into the filesystem for extent lookup or
    allocation, and without the complex I/O completion workqueue handler
    for AIO - instead we just use the FUA bit on the bios to ensure
    data is flushed to stable storage.
    
    Signed-off-by: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
    Signed-off-by: Jens Axboe <axboe-b10kYP2dOMg@public.gmane.org>

Many Thanks
Laurence
--
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:[~2016-12-22 13:17 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-08  1:10 [PATCH, RFC 0/5] IB: Optimize DMA mapping Bart Van Assche
     [not found] ` <07c07529-4636-fafb-2598-7358d8a1460d-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2016-12-08  1:10   ` [PATCH 1/5] treewide: constify most struct dma_map_ops Bart Van Assche
     [not found]     ` <f6b70724-772c-c17f-f1be-1681fab31228-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2016-12-09 18:20       ` Christoph Hellwig
2016-12-08  1:10   ` [PATCH 2/5] misc: vop: Remove a cast Bart Van Assche
     [not found]     ` <6fff2450-6442-4539-47ff-67f04a593c06-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2016-12-09 18:20       ` Christoph Hellwig
2016-12-08  1:11   ` [PATCH 3/5] Move dma_ops from archdata into struct device Bart Van Assche
2016-12-09 18:22     ` Christoph Hellwig
2016-12-09 18:22       ` Christoph Hellwig
2016-12-09 19:13       ` David Woodhouse
2016-12-09 19:46         ` Bart Van Assche
2016-12-09 19:46           ` Bart Van Assche
2016-12-09 19:46           ` Bart Van Assche
2016-12-09 19:13       ` David Woodhouse
2016-12-08  1:11   ` [PATCH 4/5] IB: Switch from struct ib_dma_mapping_ops to struct dma_mapping_ops Bart Van Assche
     [not found]     ` <25d066c2-59d7-2be7-dd56-e29e99b43620-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2016-12-09 18:23       ` Christoph Hellwig
2016-12-09 18:24       ` Christoph Hellwig
     [not found]         ` <20161209182429.GF16622-jcswGhMUV9g@public.gmane.org>
2016-12-19 16:42           ` Dennis Dalessandro
     [not found]             ` <52e8398f-a146-721c-3b92-0892b4abbff8-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-12-19 16:55               ` Bart Van Assche
     [not found]                 ` <1482166487.25336.10.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2016-12-20 19:33                   ` Testing latest linux-next 4.9 ib_srp and ib_srpt Laurence Oberman
     [not found]                     ` <1918919536.8196250.1482262406057.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-12-20 19:43                       ` Laurence Oberman
     [not found]                         ` <2052479881.8196880.1482263028727.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-12-20 20:44                           ` Laurence Oberman
     [not found]                             ` <1668746735.8200653.1482266682585.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-12-20 21:09                               ` Laurence Oberman
2016-12-21  3:31                               ` Laurence Oberman
     [not found]                                 ` <120559766.8215321.1482291094018.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-12-21  6:34                                   ` Laurence Oberman
     [not found]                                     ` <1928955380.8220327.1482302041315.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-12-21  8:08                                       ` Bart Van Assche
2016-12-22  2:10                                       ` Laurence Oberman
     [not found]                                         ` <1337539588.8422488.1482372617094.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-12-22  6:23                                           ` Christoph Hellwig
     [not found]                                             ` <20161222062321.GA30326-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-12-22 13:17                                               ` Laurence Oberman [this message]
     [not found]                                                 ` <1661819060.8462293.1482412678092.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-12-22 15:40                                                   ` Testing latest linux-next 4.9 ib_srp and ib_srpt sees I/O capped at 1MB and no merging Christoph Hellwig
     [not found]                                                     ` <20161222154049.GA4638-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-12-22 17:59                                                       ` Laurence Oberman
2016-12-22 19:55                                                       ` block: add back plugging in __blkdev_direct_IO kbuild test robot
2016-12-22 19:54                                                     ` kbuild test robot
2016-12-08  1:12   ` [PATCH 5/5] treewide: Inline ib_dma_map_*() functions Bart Van Assche
     [not found]     ` <9bdf696e-ec64-d60e-3d7e-7ad5b3000d60-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2016-12-09 18:23       ` Christoph Hellwig
2016-12-08  6:48   ` [PATCH, RFC 0/5] IB: Optimize DMA mapping Or Gerlitz
     [not found]     ` <CAJ3xEMi4HY9Ehp-V4rP5UieAk=GjAu0X4uEnP-yMDomcFDpHkA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-12-08 16:51       ` Bart Van Assche

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=1661819060.8462293.1482412678092.JavaMail.zimbra@redhat.com \
    --to=loberman-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=Bart.VanAssche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org \
    --cc=hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-scsi-u79uwXL29TY76Z2rM5mHXA@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.