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 12:59:59 -0500 (EST) [thread overview]
Message-ID: <1357936316.8619285.1482429599286.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <20161222154049.GA4638-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
----- Original Message -----
> From: "Christoph Hellwig" <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
> To: "Laurence Oberman" <loberman-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> Cc: "Christoph Hellwig" <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>, "Bart Van Assche" <Bart.VanAssche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>,
> linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Sent: Thursday, December 22, 2016 10:40:49 AM
> Subject: Re: Testing latest linux-next 4.9 ib_srp and ib_srpt sees I/O capped at 1MB and no merging
>
> Hi Laurance,
>
> please try the patch below:
>
> ---
> From 69febe1cfb55844862f768447432249781001f9c Mon Sep 17 00:00:00 2001
> From: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
> Date: Thu, 22 Dec 2016 16:38:29 +0100
> Subject: block: add back plugging in __blkdev_direct_IO
>
> This allows sending larger than 1 MB requess to devices that support
> large I/O sizes.
>
> Signed-off-by: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
> Reported-by: Laurence Oberman <loberman-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> ---
> fs/block_dev.c | 3 +++
> fs/iomap.c | 1 -
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/fs/block_dev.c b/fs/block_dev.c
> index 7c45072..206a92a 100644
> --- a/fs/block_dev.c
> +++ b/fs/block_dev.c
> @@ -328,6 +328,7 @@ __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter
> *iter, int nr_pages)
> struct file *file = iocb->ki_filp;
> struct inode *inode = bdev_file_inode(file);
> struct block_device *bdev = I_BDEV(inode);
> + struct blk_plug plug;
> struct blkdev_dio *dio;
> struct bio *bio;
> bool is_read = (iov_iter_rw(iter) == READ);
> @@ -353,6 +354,7 @@ __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter
> *iter, int nr_pages)
> dio->multi_bio = false;
> dio->should_dirty = is_read && (iter->type == ITER_IOVEC);
>
> + blk_start_plug(&plug);
> for (;;) {
> bio->bi_bdev = bdev;
> bio->bi_iter.bi_sector = pos >> 9;
> @@ -394,6 +396,7 @@ __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter
> *iter, int nr_pages)
> submit_bio(bio);
> bio = bio_alloc(GFP_KERNEL, nr_pages);
> }
> + blk_finish_plug(&plug);
>
> if (!dio->is_sync)
> return -EIOCBQUEUED;
> diff --git a/fs/iomap.c b/fs/iomap.c
> index 354a123..3adf1e1 100644
> --- a/fs/iomap.c
> +++ b/fs/iomap.c
> @@ -844,7 +844,6 @@ iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
> struct iomap_ops *ops,
> size_t count = iov_iter_count(iter);
> loff_t pos = iocb->ki_pos, end = iocb->ki_pos + count - 1, ret = 0;
> unsigned int flags = IOMAP_DIRECT;
> - struct blk_plug plug;
> struct iomap_dio *dio;
>
> lockdep_assert_held(&inode->i_rwsem);
> --
> 2.1.4
>
> --
> 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
>
Hello Christoph
The patch works and I now see 4MB I/O
# DISK STATISTICS (/sec)
# <---------reads---------><---------writes---------><--------averages--------> Pct
#Time Name KBytes Merged IOs Size KBytes Merged IOs Size RWSize QLen Wait SvcTim Util
11:53:58 sdah 143360 105 35 4096 0 0 0 0 4096 1 28 28 99
11:53:59 sdah 139264 102 34 4096 0 0 0 0 4096 1 29 29 99
11:54:00 sdah 143360 105 35 4096 0 0 0 0 4096 1 28 28 99
I think you forgot to remove calls to blk_start_plug and blk_finish_plug in fs/iomap.c in your patch.
I took them out and built the test kernel that way.
Let me know if you will just remove those in the final or want a patch.
Thanks fo rthe super quick response
Regards
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
next prev parent reply other threads:[~2016-12-22 17:59 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 ` Testing latest linux-next 4.9 ib_srp and ib_srpt sees I/O capped at 1MB and no merging Laurence Oberman
[not found] ` <1661819060.8462293.1482412678092.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-12-22 15:40 ` Christoph Hellwig
[not found] ` <20161222154049.GA4638-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-12-22 17:59 ` Laurence Oberman [this message]
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=1357936316.8619285.1482429599286.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.