All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
To: Sagi Grimberg <sagi-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
Cc: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>,
	Max Gurtovoy <maxg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	linux-nvme-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	keith.busch-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	vladimirk-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org
Subject: Re: [PATCH v2 3/4] nvme: enable SG gaps support
Date: Sun, 23 Apr 2017 10:45:53 +0200	[thread overview]
Message-ID: <20170423084553.GA24434@lst.de> (raw)
In-Reply-To: <9ff1a2e8-f84f-c772-e294-2339eee8e37d-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>

On Sun, Apr 23, 2017 at 10:20:59AM +0300, Sagi Grimberg wrote:
> Christoph,
>
>> All our block I/O must be cache line aligned, so dword aligned SGLs
>> should not be an issue.  And for PRPs or MRs we'll always use the
>> host page size.
>
> Where is that constraint coming from? Is that new? Back when I wrote
> GAP support in rdma I tested a single byte alignment via vectored
> direct IO and it seemed to be going through...

Each block queue has a ->dma_alignment field, which is set to 511
by default unless changed.  Everything not aligned to that will be
bounced in __blk_rq_map_user_iov and friends before we send it to
the driver.

> I also just tested Bart's unaligned test [1] on scsi_debug and it seems
> to go through as well (alignment and length are 4)...

SCSI reduces the alignment in __scsi_init_queue:

	/*
         * set a reasonable default alignment on word boundaries: the
	 * host and device may alter it using
	 * blk_queue_update_dma_alignment() later.
	 */
	blk_queue_dma_alignment(q, 0x03);

still would fit NVMe dword-alignment SGLs, though :)
--
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

WARNING: multiple messages have this Message-ID (diff)
From: hch@lst.de (Christoph Hellwig)
Subject: [PATCH v2 3/4] nvme: enable SG gaps support
Date: Sun, 23 Apr 2017 10:45:53 +0200	[thread overview]
Message-ID: <20170423084553.GA24434@lst.de> (raw)
In-Reply-To: <9ff1a2e8-f84f-c772-e294-2339eee8e37d@grimberg.me>

On Sun, Apr 23, 2017@10:20:59AM +0300, Sagi Grimberg wrote:
> Christoph,
>
>> All our block I/O must be cache line aligned, so dword aligned SGLs
>> should not be an issue.  And for PRPs or MRs we'll always use the
>> host page size.
>
> Where is that constraint coming from? Is that new? Back when I wrote
> GAP support in rdma I tested a single byte alignment via vectored
> direct IO and it seemed to be going through...

Each block queue has a ->dma_alignment field, which is set to 511
by default unless changed.  Everything not aligned to that will be
bounced in __blk_rq_map_user_iov and friends before we send it to
the driver.

> I also just tested Bart's unaligned test [1] on scsi_debug and it seems
> to go through as well (alignment and length are 4)...

SCSI reduces the alignment in __scsi_init_queue:

	/*
         * set a reasonable default alignment on word boundaries: the
	 * host and device may alter it using
	 * blk_queue_update_dma_alignment() later.
	 */
	blk_queue_dma_alignment(q, 0x03);

still would fit NVMe dword-alignment SGLs, though :)

  parent reply	other threads:[~2017-04-23  8:45 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-13 15:56 [PATCH v2 0/4] arbitrary sg lists support Max Gurtovoy
2017-04-13 15:56 ` Max Gurtovoy
     [not found] ` <1492098977-5231-1-git-send-email-maxg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-04-13 15:56   ` [PATCH v2 1/4] IB/core: Add inline function to get sg mr type Max Gurtovoy
2017-04-13 15:56     ` Max Gurtovoy
     [not found]     ` <1492098977-5231-2-git-send-email-maxg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-04-20 11:24       ` Sagi Grimberg
2017-04-20 11:24         ` Sagi Grimberg
2017-04-13 15:56   ` [PATCH v2 2/4] IB/iser: Use ib_get_sg_mr_type() helper Max Gurtovoy
2017-04-13 15:56     ` Max Gurtovoy
2017-04-13 15:56   ` [PATCH v2 3/4] nvme: enable SG gaps support Max Gurtovoy
2017-04-13 15:56     ` Max Gurtovoy
     [not found]     ` <1492098977-5231-4-git-send-email-maxg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-04-20 11:27       ` Sagi Grimberg
2017-04-20 11:27         ` Sagi Grimberg
     [not found]         ` <2bd673ee-8455-32b7-1bad-34fa9eebb076-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2017-04-21  6:44           ` Christoph Hellwig
2017-04-21  6:44             ` Christoph Hellwig
     [not found]             ` <20170421064427.GB6095-jcswGhMUV9g@public.gmane.org>
2017-04-23  7:20               ` Sagi Grimberg
2017-04-23  7:20                 ` Sagi Grimberg
     [not found]                 ` <9ff1a2e8-f84f-c772-e294-2339eee8e37d-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2017-04-23  8:45                   ` Christoph Hellwig [this message]
2017-04-23  8:45                     ` Christoph Hellwig
     [not found]                     ` <20170423084553.GA24434-jcswGhMUV9g@public.gmane.org>
2017-04-23  9:45                       ` Sagi Grimberg
2017-04-23  9:45                         ` Sagi Grimberg
     [not found]                         ` <9fe3f5fa-4496-3819-0288-08a073dd1a1a-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2017-04-23 13:23                           ` Max Gurtovoy
2017-04-23 13:23                             ` Max Gurtovoy
2017-04-24  7:02                           ` Christoph Hellwig
2017-04-24  7:02                             ` Christoph Hellwig
2017-04-13 15:56   ` [PATCH v2 4/4] nvme-rdma: add support for arbitrary sg lists mapping Max Gurtovoy
2017-04-13 15:56     ` Max Gurtovoy
2017-04-13 16:31   ` [PATCH v2 0/4] arbitrary sg lists support Bart Van Assche
2017-04-13 16:31     ` Bart Van Assche
     [not found]     ` <1492101079.5176.9.camel-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>
2017-04-13 16:46       ` Max Gurtovoy
2017-04-13 16:46         ` Max Gurtovoy
     [not found]         ` <9a8bc957-dcc0-2e54-d631-9f05f96e0f18-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-04-13 16:59           ` Laurence Oberman
2017-04-13 16:59             ` Laurence Oberman
2017-04-20 11:30       ` Sagi Grimberg
2017-04-20 11:30         ` Sagi Grimberg
     [not found]         ` <c52b5ce7-5346-419d-26f2-0d4d45d20471-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2017-04-23 10:34           ` Leon Romanovsky
2017-04-23 10:34             ` Leon Romanovsky
     [not found]             ` <20170423103439.GC14088-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-04-23 11:49               ` Sagi Grimberg
2017-04-23 11:49                 ` Sagi Grimberg
     [not found]                 ` <d697d360-99ca-c3ed-08e2-b89cc50a15b0-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2017-04-23 12:12                   ` Leon Romanovsky
2017-04-23 12:12                     ` Leon Romanovsky
     [not found]                     ` <20170423121254.GD14088-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-04-23 12:28                       ` Sagi Grimberg
2017-04-23 12:28                         ` Sagi Grimberg
     [not found]                         ` <a3264968-2d9e-bda5-1f23-74da248cf4d5-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2017-04-23 13:35                           ` Max Gurtovoy
2017-04-23 13:35                             ` Max Gurtovoy
     [not found]                             ` <9a9668fa-87a7-e730-27e2-8a2b3e7fbc36-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-04-23 14:35                               ` Sagi Grimberg
2017-04-23 14:35                                 ` Sagi Grimberg
     [not found]                                 ` <8ed506ba-ae7b-af27-2d2a-9a434c22353c-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>
2017-05-01 18:50                                   ` Doug Ledford
2017-05-01 18:50                                     ` Doug Ledford
     [not found]                                     ` <1493664645.3041.184.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-05-02 16:14                                       ` Max Gurtovoy
2017-05-02 16:14                                         ` Max Gurtovoy
     [not found]                                         ` <4a1c94b5-fe13-8b34-762f-e7465182ed27-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2017-05-02 16:39                                           ` Laurence Oberman
2017-05-02 16:39                                             ` Laurence Oberman

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=20170423084553.GA24434@lst.de \
    --to=hch-jcswghmuv9g@public.gmane.org \
    --cc=keith.busch-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=linux-nvme-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=maxg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=sagi-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org \
    --cc=vladimirk-VPRAkNaXOzVWk0Htik3J/w@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.