From: Jens Axboe <jens.axboe@oracle.com>
To: linux-kernel@vger.kernel.org
Subject: [PATCH 0/13] Chaining sg lists for bio IO commands v3
Date: Thu, 10 May 2007 12:21:42 +0200 [thread overview]
Message-ID: <11787925152319-git-send-email-jens.axboe@oracle.com> (raw)
Hi,
Third version of the patchset. Changes since v2:
- Get rid of ->next and use the ->page field as a next pointer.
This saves some space in the scatterlist structure, at the cost
of one extra sg segment per chained list. Should definitely be
a space win.
- Cleanup linux/scatterlist.h, most of the stuff is outside
the ARCH_HAS_SG_CHAIN ifdef now.
- Convert the x86-64 iommu code, enable it on x86-64.
- Convert all (hopefully) SCSI drivers to use the sg helpers so
chaining can be supported globally. I collated all the SCSI
driver patches into the 13/13 patch, as not to post a huge
patch series. I would much appreciate some eye balls on this part,
catching any dumb mistakes I may have made. The changes are usually
trivial, but some are not and I do clown around occasionally :-)
Like v2, you still need to enable large commands manually for a
device, ala:
# cd /sys/block/sda/queue
# echo 1024 > max_segments
# cat max_hw_sectors_kb > max_sectors_kb
which would limit you to 1024 segments (effectively 8 scatterlists
chained), and should give you IO's of at least 4mb. You can go larger
than 1024, there's no real limit.
arch/ia64/hp/sim/simscsi.c | 23 +-
arch/x86_64/kernel/pci-calgary.c | 25 +-
arch/x86_64/kernel/pci-gart.c | 44 ++--
arch/x86_64/kernel/pci-nommu.c | 5
block/ll_rw_blk.c | 41 +++-
crypto/digest.c | 2
crypto/scatterwalk.c | 2
crypto/scatterwalk.h | 2
drivers/ata/libata-core.c | 30 +--
drivers/infiniband/ulp/srp/ib_srp.c | 22 +-
drivers/scsi/3w-9xxx.c | 8
drivers/scsi/3w-xxxx.c | 8
drivers/scsi/53c700.c | 16 -
drivers/scsi/BusLogic.c | 7
drivers/scsi/NCR53c406a.c | 18 +-
drivers/scsi/a100u2w.c | 9 -
drivers/scsi/aacraid/aachba.c | 29 +--
drivers/scsi/advansys.c | 21 +-
drivers/scsi/aha1542.c | 21 +-
drivers/scsi/aha1740.c | 8
drivers/scsi/aic7xxx/aic79xx_osm.c | 3
drivers/scsi/aic7xxx/aic7xxx_osm.c | 12 -
drivers/scsi/aic94xx/aic94xx_task.c | 6
drivers/scsi/arcmsr/arcmsr_hba.c | 11 -
drivers/scsi/dc395x.c | 7
drivers/scsi/dpt_i2o.c | 13 -
drivers/scsi/eata.c | 8
drivers/scsi/esp_scsi.c | 5
drivers/scsi/gdth.c | 45 ++---
drivers/scsi/hptiop.c | 8
drivers/scsi/ibmmca.c | 11 -
drivers/scsi/ibmvscsi/ibmvscsi.c | 4
drivers/scsi/ide-scsi.c | 31 ++-
drivers/scsi/initio.c | 12 -
drivers/scsi/ipr.c | 9 -
drivers/scsi/ips.c | 74 ++++----
drivers/scsi/iscsi_tcp.c | 43 ++--
drivers/scsi/jazz_esp.c | 27 +--
drivers/scsi/lpfc/lpfc_scsi.c | 9 -
drivers/scsi/mac53c94.c | 9 -
drivers/scsi/megaraid.c | 13 -
drivers/scsi/megaraid/megaraid_mbox.c | 7
drivers/scsi/megaraid/megaraid_sas.c | 16 -
drivers/scsi/mesh.c | 12 -
drivers/scsi/ncr53c8xx.c | 7
drivers/scsi/nsp32.c | 9 -
drivers/scsi/pcmcia/sym53c500_cs.c | 18 +-
drivers/scsi/qla1280.c | 66 ++++---
drivers/scsi/qla2xxx/qla_iocb.c | 9 -
drivers/scsi/qla4xxx/ql4_iocb.c | 8
drivers/scsi/qlogicfas408.c | 9 -
drivers/scsi/qlogicpti.c | 15 -
drivers/scsi/scsi_debug.c | 14 -
drivers/scsi/scsi_lib.c | 230 +++++++++++++++++++-------
drivers/scsi/scsi_tgt_lib.c | 4
drivers/scsi/sym53c416.c | 9 -
drivers/scsi/sym53c8xx_2/sym_glue.c | 7
drivers/scsi/u14-34f.c | 10 -
drivers/scsi/ultrastor.c | 10 -
drivers/scsi/wd7000.c | 7
include/asm-i386/dma-mapping.h | 13 -
include/asm-i386/scatterlist.h | 2
include/asm-x86_64/dma-mapping.h | 3
include/asm-x86_64/scatterlist.h | 2
include/linux/libata.h | 16 +
include/linux/scatterlist.h | 55 ++++++
include/scsi/scsi.h | 7
include/scsi/scsi_cmnd.h | 3
68 files changed, 753 insertions(+), 516 deletions(-)
next reply other threads:[~2007-05-10 10:23 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-10 10:21 Jens Axboe [this message]
2007-05-10 10:21 ` [PATCH 1/13] crypto: don't pollute the global namespace with sg_next() Jens Axboe
2007-05-10 10:21 ` [PATCH 2/13] Add sg helpers for iterating over a scatterlist table Jens Axboe
2007-05-10 10:39 ` Andrew Morton
2007-05-10 10:42 ` Jens Axboe
2007-05-10 10:21 ` [PATCH 3/13] libata: convert to using sg helpers Jens Axboe
2007-05-10 10:21 ` [PATCH 4/13] block: " Jens Axboe
2007-05-10 10:21 ` [PATCH 5/13] scsi: " Jens Axboe
2007-05-10 10:21 ` [PATCH 6/13] i386 dma_map_sg: " Jens Axboe
2007-05-10 10:21 ` [PATCH 7/13] i386 sg: add support for chaining scatterlists Jens Axboe
2007-05-10 10:43 ` Andrew Morton
2007-05-10 10:44 ` Jens Axboe
2007-05-10 10:46 ` Jens Axboe
2007-05-10 10:52 ` Andrew Morton
2007-05-10 11:21 ` Jens Axboe
2007-05-10 10:59 ` Benny Halevy
2007-05-10 11:23 ` Jens Axboe
2007-05-10 10:21 ` [PATCH 8/13] x86-64: update iommu/dma mapping functions to sg helpers Jens Axboe
2007-05-10 10:21 ` [PATCH 9/13] [PATCH] x86-64: enable sg chaining Jens Axboe
2007-05-10 10:21 ` [PATCH 10/13] scsi: simplify scsi_free_sgtable() Jens Axboe
2007-05-10 10:21 ` [PATCH 11/13] SCSI: support for allocating large scatterlists Jens Axboe
2007-05-10 10:48 ` Andrew Morton
2007-05-10 10:52 ` Jens Axboe
2007-05-10 12:38 ` Alan Cox
2007-05-10 10:21 ` [PATCH 12/13] ll_rw_blk: temporarily enable max_segments tweaking Jens Axboe
2007-05-10 10:49 ` Andrew Morton
2007-05-10 11:20 ` Jens Axboe
2007-05-10 10:21 ` [PATCH 13/13] scsi drivers: sg chaining Jens Axboe
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=11787925152319-git-send-email-jens.axboe@oracle.com \
--to=jens.axboe@oracle.com \
--cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®