All of lore.kernel.org
 help / color / mirror / Atom feed
From: Douglas Gilbert <dougg@torque.net>
To: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: linux-scsi@vger.kernel.org, jens.axboe@oracle.com,
	michaelc@cs.wisc.edu, James.Bottomley@HansenPartnership.com
Subject: Re: [PATCH 0/5] convert sg to use the block layer
Date: Wed, 27 Aug 2008 16:14:24 -0400	[thread overview]
Message-ID: <48B5B5A0.3010909@torque.net> (raw)
In-Reply-To: <1219716654-27827-1-git-send-email-fujita.tomonori@lab.ntt.co.jp>

FUJITA Tomonori wrote:
> This patchset converts sg to use the block layer functions. That is,
> sg doesn't use scsi_execute_async() any more. This is a part of the
> overdue task to remove scsi_req_map_sg.
> 
> I tested this patchset with sg v3 and the old interface (struct
> sg_header) via SG_IO (v3) and the vfs API.
> 
> 
> Doug,
> 
> 1. I don't demote the sg driver's GFP_ATOMIC to GFP_KERNEL. sg always
> uses GFP_ATOMIC as before.
> 
> 2. I don't remove GFP_DMA allocation. As before, sg allocates reserved
> pages with GFP_DMA (sfp->low_dma case).
> 
> 3. I keep the reserved buffer per struct sg_fd as before.
> 
> 4. I use high-order page allocation for reserved buffer as before. sg
> works well with HBAs that have the limitation of the number of sg
> entries.
> 
> 5. I think that you were concern about the overhead of the block layer
> functions. But if you look at scsi_execute_async() that sg uses now,
> you can find that scsi_execute_async() uses the block layer functions
> internally. So the current sg incurs the overhead (if such overhead
> exists).

Tomo,
Thanks for doing the conversion.

Signed-off-by: Douglas Gilbert <dougg@torque.net>


> Jens,
> 
> I keep the block API changes to a minimum (I might need more changes
> for st/osst but I'd like to progress step by step). I did only two
> things.
> 
> 1. I add gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov.
> 
> 2. I introduces struct rq_map_data holding pages. sg puts
> pre-allocated pages to it and passes it to bio_copy_user_iov(). The
> current users of bio_copy_user_iov simply passes NULL. blk_rq_map_user
> and blk_rq_map_user_iov take a pointer to struct rq_map_data and in
> the end bio_copy_user_iov gets it.
> 
> 
> This patchset against the for-linus branch in Jens' tree + the two
> patches for 2.6.27:
> 
> http://marc.info/?l=linux-kernel&m=121964251911717&w=2
> http://marc.info/?l=linux-kernel&m=121964241911611&w=2
> 
> After Jens rebases the for-2.6.28 brach, I'll update this patchset
> too.
> 
> This patchset also is available at:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/tomo/linux-2.6-misc.git sg-block
> 
> 
> 
> 


  parent reply	other threads:[~2008-08-27 20:14 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-26  2:10 [PATCH 0/5] convert sg to use the block layer FUJITA Tomonori
2008-08-26  2:10 ` [PATCH 1/5] block: add gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov FUJITA Tomonori
2008-08-26  2:10   ` [PATCH 2/5] block: introduce struct rq_map_data to use reserved pages FUJITA Tomonori
2008-08-26  2:10     ` [PATCH 3/5] sg: convert the non-data path to use the block layer FUJITA Tomonori
2008-08-26  2:10       ` [PATCH 4/5] sg: convert the direct IO " FUJITA Tomonori
2008-08-26  2:10         ` [PATCH 5/5] sg: convert the indirect " FUJITA Tomonori
2008-08-26 16:35   ` [PATCH 1/5] block: add gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov Christoph Hellwig
2008-08-27  1:30     ` FUJITA Tomonori
2008-08-26  7:56 ` [PATCH 0/5] convert sg to use the block layer Jens Axboe
2008-08-27  2:14   ` FUJITA Tomonori
2008-08-27  7:10     ` Jens Axboe
2008-08-27 23:26       ` FUJITA Tomonori
2008-08-28  6:51         ` Jens Axboe
2008-08-28  7:07           ` Jens Axboe
2008-08-28  7:17             ` [PATCH 1/5] block: add gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov FUJITA Tomonori
2008-08-28  7:17               ` [PATCH 2/5] block: introduce struct rq_map_data to use reserved pages FUJITA Tomonori
2008-08-28  7:17                 ` [PATCH 3/5] sg: convert the non-data path to use the block layer FUJITA Tomonori
2008-08-28  7:17                   ` [PATCH 4/5] sg: convert the direct IO " FUJITA Tomonori
2008-08-28  7:17                     ` [PATCH 5/5] sg: convert the indirect " FUJITA Tomonori
2008-08-28  7:34               ` [PATCH 1/5] block: add gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov Jens Axboe
2008-08-28  7:32             ` [PATCH 0/5] convert sg to use the block layer FUJITA Tomonori
2008-08-27 20:14 ` Douglas Gilbert [this message]
2008-08-27 23:26   ` FUJITA Tomonori

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=48B5B5A0.3010909@torque.net \
    --to=dougg@torque.net \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=jens.axboe@oracle.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.edu \
    /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.