Re: Deprecate pci_dma_sync_{single,sg}()?

Pete Zaitcev (zaitcev@redhat.com)
Wed, 5 Jun 2002 17:56:29 -0400


>[...]
> In the current linux-mips implementation, this has some subtle problems:
> pci_unmap_{single,sg}() is essentially a no-op. Thus, in the above
> example, a driver would break (stale cachelines from a previous
> pci_dma_sync_*/read would not be invalidated). One might argue that a
> cache invalidate should happen in the pci_unmap_single(). But then the
> other case (where a driver does a pci_map, DMAs, does a pci_unmap, and
> sends it up the stack) would require an additional cache
> flush/invalidate that is not needed at all.

Frist, fix mips, it is broken. Then patch those simple
minded drivers that do map->dma->unmap cycle and suffer
performance degradation to use pci_unmap(..., PCI_DMA_NONE).

-- Pete
-
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/