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


Groups > linux.kernel > #1632365

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

From Logan Gunthorpe <logang@deltatee.com>
Newsgroups linux.kernel
Subject Re: [PATCH v2 15/21] xen-blkfront: Make use of the new sg_map helper function
Date 2017-04-27 22:30 +0200
Message-ID <tAYd4-5Fs-13@gated-at.bofh.it> (permalink)
References <tAdnP-8d5-5@gated-at.bofh.it> <tAdnP-8d5-23@gated-at.bofh.it> <tApIl-7Ah-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw



On 26/04/17 01:37 AM, Roger Pau Monné wrote:
> On Tue, Apr 25, 2017 at 12:21:02PM -0600, Logan Gunthorpe wrote:
>> Straightforward conversion to the new helper, except due to the lack
>> of error path, we have to use SG_MAP_MUST_NOT_FAIL which may BUG_ON in
>> certain cases in the future.
>>
>> Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
>> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
>> Cc: Juergen Gross <jgross@suse.com>
>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>> Cc: "Roger Pau Monné" <roger.pau@citrix.com>
>> ---
>>  drivers/block/xen-blkfront.c | 20 +++++++++++---------
>>  1 file changed, 11 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
>> index 3945963..ed62175 100644
>> --- a/drivers/block/xen-blkfront.c
>> +++ b/drivers/block/xen-blkfront.c
>> @@ -816,8 +816,9 @@ static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *ri
>>  		BUG_ON(sg->offset + sg->length > PAGE_SIZE);
>>  
>>  		if (setup.need_copy) {
>> -			setup.bvec_off = sg->offset;
>> -			setup.bvec_data = kmap_atomic(sg_page(sg));
>> +			setup.bvec_off = 0;
>> +			setup.bvec_data = sg_map(sg, 0, SG_KMAP_ATOMIC |
>> +						 SG_MAP_MUST_NOT_FAIL);
> 
> I assume that sg_map already adds sg->offset to the address?

Correct.

> Also wondering whether we can get rid of bvec_off and just increment bvec_data,
> adding Julien who IIRC added this code.

bvec_off is used to keep track of the offset within the current mapping
so it's not a great idea given that you'd want to kunmap_atomic the
original address and not something with an offset. It would be nice if
this could be converted to use the sg_miter interface but that's a much
more invasive change that would require someone who knows this code and
can properly test it. I'd be very grateful if someone actually took that on.

Logan

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