Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1632406

Re: [PATCH v2 15/21] xen-blkfront: Make use of the new sg_map helper function

From Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Newsgroups linux.kernel
Subject Re: [PATCH v2 15/21] xen-blkfront: Make use of the new sg_map helper function
Date 2017-04-28 00:20 +0200
Message-ID <tAZVv-6VL-3@gated-at.bofh.it> (permalink)
References (1 earlier) <tAdnP-8d5-23@gated-at.bofh.it> <tApIl-7Ah-3@gated-at.bofh.it> <tAYd4-5Fs-13@gated-at.bofh.it> <tAYG6-5Us-23@gated-at.bofh.it> <tAZCa-6zp-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, Apr 27, 2017 at 03:53:37PM -0600, Logan Gunthorpe wrote:
> On 27/04/17 02:53 PM, Jason Gunthorpe wrote:
> > blkfront is one of the drivers I looked at, and it appears to only be
> > memcpying with the bvec_data pointer, so I wonder why it does not use
> > sg_copy_X_buffer instead..
> 
> But you'd potentially end up calling sg_copy_to_buffer multiple times
> per page within the sg (given that gnttab_foreach_grant_in_range might
> call blkif_copy_from_grant/blkif_setup_rw_req_grant multiple times).
> Even calling sg_copy_to_buffer once per page seems rather inefficient as
> it uses sg_miter internally.

Well, that is in the current form, with more users it would make sense
to optimize for the single page case, eg by providing the existing
call, providing a faster single-page-only variant of the copy, perhaps
even one that is inlined.

> Switching the for_each_sg to sg_miter is probably the nicer solution as
> it takes care of the mapping and the offset/length accounting for you
> and will have similar performance.

sg_miter will still fail when the sg contains __iomem, however I would
expect that the sg_copy will work with iomem, by using the __iomem
memcpy variant.

So, sg_copy should always be preferred in this new world with mixed
__iomem since it is the only primitive that can transparently handle
it.

Jason

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 15/21] xen-blkfront: Make use of the new sg_map helper function Logan Gunthorpe <logang@deltatee.com> - 2017-04-25 20:30 +0200
  Re: [PATCH v2 15/21] xen-blkfront: Make use of the new sg_map helper  function Roger Pau Monné <roger.pau@citrix.com> - 2017-04-26 09:40 +0200
    Re: [PATCH v2 15/21] xen-blkfront: Make use of the new sg_map helper  function Logan Gunthorpe <logang@deltatee.com> - 2017-04-27 22:30 +0200
      Re: [PATCH v2 15/21] xen-blkfront: Make use of the new sg_map helper  function Jason Gunthorpe <jgunthorpe@obsidianresearch.com> - 2017-04-27 23:00 +0200
        Re: [PATCH v2 15/21] xen-blkfront: Make use of the new sg_map helper  function Logan Gunthorpe <logang@deltatee.com> - 2017-04-28 00:00 +0200
          Re: [PATCH v2 15/21] xen-blkfront: Make use of the new sg_map helper  function Jason Gunthorpe <jgunthorpe@obsidianresearch.com> - 2017-04-28 00:20 +0200
            Re: [PATCH v2 15/21] xen-blkfront: Make use of the new sg_map helper  function Logan Gunthorpe <logang@deltatee.com> - 2017-04-28 01:10 +0200
              Re: [PATCH v2 15/21] xen-blkfront: Make use of the new sg_map helper  function Jason Gunthorpe <jgunthorpe@obsidianresearch.com> - 2017-04-28 01:30 +0200
                Re: [PATCH v2 15/21] xen-blkfront: Make use of the new sg_map helper  function Logan Gunthorpe <logang@deltatee.com> - 2017-04-28 01:40 +0200

csiph-web