[openib-general] Suggestions for how to remove bus_to_virt()

Roland Dreier rdreier at cisco.com
Thu Jul 13 09:02:47 PDT 2006


 > > A cleaner solution would be to make the dma_ API really use the device
 > > it's passed anyway, and allow drivers to override the standard PCI
 > > stuff nicely.  But that would be major surgery, I guess.

 > Clean but expensive, you should not force the rest of the kernel
 > to eat the cost of something you want to do when it's totally
 > unnecessary for most other users.

OK, fair enough.

 > For example, x86 never needs to do anything other than a direct
 > virt_to_phys translation to produce a DMA address, no matter what
 > bus the device is on.  It's a single simple integer adjustment
 > that can be done inline in about 2 or 3 instructions at most.

<pedantic>Except x86 needs to handle systems with IOMMUs now...</pedantic>

 > If you need device level DMA mapping semantics, create them for your
 > device type.  This is what USB does, btw.

Makes sense -- Ralph, I would suggest looking at USB as a model.

 - R.




More information about the general mailing list