public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: FUJITA Tomonori <tomof@acm.org>
To: James.Bottomley@SteelEye.com, jens.axboe@oracle.com,
	hch@infradead.org, jeff@garzik.org, gregkh@suse.de, hare@suse.de,
	linux-scsi@vger.kernel.org
Cc: fujita.tomonori@lab.ntt.co.jp
Subject: [PATCH 0/5] fix iommu sg list merge problem
Date: Wed, 26 Sep 2007 17:57:57 +0900	[thread overview]
Message-ID: <20070925142141N.tomof@acm.org> (raw)

iommu code merges sg lists without considering lld's restrictions so
some llds need a workaround to split sg lists again. This patchset
fixes iommu to handle lld's max segment size limit properly.

The problem is that iommu code can't access to the restrictions
because they are in request_queue. iommu code can access to only
device structure. I chose the simplest approach, adding
max_segment_size to device structure.

We could remove the lld restrictions in request_queue strucutre and
have a new strucutre (something like struct io_restrictions). Then
somehow we could link the new structure with request_queue and device
strucutres. But iommu needs only max_segment_size and
seg_boundary_mask, so the simplest approach is not so bad, I think.

scsi_add_host sets shost_gendev.parent->max_segment_size for iommu
code (copied form shost->dma_max_segment_size).

This patchset includes only the x86_64 iommu patch but my git tree
includes x86_64, ppc, ia64, parisc, and alpha patches. As far as I
know, thye are all the iommu code that merges sg lists. The iommu
patchse are only compile tested.

git://git.kernel.org/pub/scm/linux/kernel/git/tomo/linux-2.6-bidi.git iommu


3 llds, aacraid, scsi_debug, and sata_inic162x sets
shost->dma_max_segment_size in slave_configure hook. But
dma_max_segment_size is a lld restriction. I adds dma_max_segment_size
to scsi_host_template and scsi_host. llds specify dma_max_segment_size
in scsi_host_template, scsi-ml sets dma_max_segment_size in devices
and call blk_queue_max_segment_size. This patchset includes only the
sata_inic162x patch but all the patches for llds, aacraid and
scsi_debug are in the git tree.

             reply	other threads:[~2007-09-26  8:59 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-26  8:57 FUJITA Tomonori [this message]
2007-09-26 10:02 ` [PATCH 0/5] fix iommu sg list merge problem Muli Ben-Yehuda
2007-09-26 14:34   ` FUJITA Tomonori
2007-09-26 14:38     ` James Bottomley
2007-09-26 14:48       ` 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=20070925142141N.tomof@acm.org \
    --to=tomof@acm.org \
    --cc=James.Bottomley@SteelEye.com \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=gregkh@suse.de \
    --cc=hare@suse.de \
    --cc=hch@infradead.org \
    --cc=jeff@garzik.org \
    --cc=jens.axboe@oracle.com \
    --cc=linux-scsi@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