Messages in this thread | | | Subject | Re: [RFC] block layer support for DMA IOMMU bypass mode | From | James Bottomley <> | Date | 01 Jul 2003 15:11:16 -0500 |
| |
On Tue, 2003-07-01 at 14:59, Alex Williamson wrote: > The thing that's got me concerned about this is that it allows > for sg lists that contains both entries that the block layer > expects will be mapped into the iommu and ones that it expects > to bypass. I don't like the implications of parsing through > sg lists looking for bypass-able and non-bypass-able groupings. > This seems like a lot more overhead than we have now and the > complexity of merging partially bypass-able scatterlists seems > time consuming. > > The current ia64 sba_iommu does a quick and dirty sg bypass > check. If the device can dma to any memory address, the entire > sg list is bypassed. If not, the entire list is coalesced and > mapped by the iommu. The idea being that true performance > devices will have 64bit dma masks and be able to quickly bypass. > Everything else will at least get the benefit of coalescing > entries to make more efficient dma. The coalescing is a bit > simpler since it's the entire list as well. With this proposal, > we'd have to add a lot of complexity to partially bypass sg > lists. I don't necessarily see that as a benefit. Thanks,
But if that's all you want, you simply set the BIO_VMERGE_BYPASS_MASK to the full u64 set bitmask. Then it will only turn off virtual merging for devices that have a fully set dma_mask, and your simple test will work.
James
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |