Re: [PATCH]intel-iommu batched iotlb flushes

From: mark gross
Date: Wed Feb 13 2008 - 13:36:51 EST


On Tue, Feb 12, 2008 at 07:54:48AM -0800, David Miller wrote:
> > Something could be done:
> > we could enable drivers to have DMA-pools they manage that get mapped
> > and are re-used.
> >
> > I would rather the DMA-pools be tied to PID's that way any bad behavior
> > would be limited to the address space of the process using the device.
> > I haven't thought about how hard this would be to do but it would be
> > nice. I think this could be tricky.
>
> Yes, this is a good idea especially for networking.
>
> For transmit on 10GB links the IOMMU setup is near the top
> of the profiles.

true.

> What a driver could do is determine the maximum number of
> IOMMU pages it could need to map one maximally sized packet.
> So then it allocates enough space for all such entries in
> it's TX ring.
>
> This eliminates the range allocation from the transmit path.
> All that's left is "remap DMA range X to scatterlist Y"
>
> And yes it would be nice to have dma_map_skb() type interfaces
> so that we don't walk into the IOMMU code N times per packet.


/me starts looking more closely at how this could be done...

--mgross

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/