Re: [PATCH v3 2/2][BNX2]: Add iSCSI support to BNX2 devices.
From: FUJITA Tomonori <hidden>
Date: 2007-09-26 08:58:33
On Tue, 25 Sep 2007 10:39:17 +0200 Hannes Reinecke [off-list ref] wrote:
Hi Tomo, FUJITA Tomonori wrote:quoted
On Sat, 8 Sep 2007 13:00:36 +0100 Christoph Hellwig [off-list ref] wrote:quoted
On Sat, Sep 08, 2007 at 07:32:27AM -0400, Jeff Garzik wrote:quoted
FUJITA Tomonori wrote:quoted
Yeah, iommu code ignores the lld limitations (the problem is that the lld limitations are in request_queue and iommu code can't access to request_queue). There is no way to tell iommu code about the lld limitations.This fact very much wants fixing.Absolutely. Unfortunately everyone wastes their time on creating workarounds instead of fixing the underlying problem.Any ideas on how to fix this? I chatted to Jens and James on this last week. - we could just copies the lld limitations to device structure. it's hacky but device structure already has hacky stuff. - we could just link device structure to request_queue structure so that iommu code can see request_queue structure. - we could remove the lld limitations 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.I'd prefer the latter. These struct io_restrictions could then be used by dm (which has it's own version right now) to merge queue capabilities.
Yeah, we could nicely handle lld's restrictions (especially with stacking devices). But iommu code needs only max_segment_size and seg_boundary_mask, right? If so, the first simple approach to add two values to device structure is not so bad, I think.