Messages in this thread | | | Date | Mon, 29 Sep 2008 12:25:49 +0300 | From | Muli Ben-Yehuda <> | Subject | Re: [PATCH 9/9] x86/iommu: use dma_ops_list in get_dma_ops |
| |
On Sun, Sep 28, 2008 at 08:44:24PM +0200, Joerg Roedel wrote:
> Hmm, we should only call find_dma_ops_for_device() the first time a > dma api call is done (look into get_dma_ops). But I also thought > about how this lock can be avoided. In the real world it should not > be necessary because the dma_ops list is initialized before dma api > calls are done. But since there is now a register function which can > be called its safer this way. What do you think, are we still safe > enough without this lock?
We could be, if we add a check to the register function that verifies it isn't being called after DMAs have started. Something like:
in register:
if (dma_started) yell loudly
before PCI device initialization and after IOMMU initialization: dma_started = true
Cheers, Muli -- The First Workshop on I/O Virtualization (WIOV '08) Dec 2008, San Diego, CA, http://www.usenix.org/wiov08/ xxx SYSTOR 2009---The Israeli Experimental Systems Conference http://www.haifa.il.ibm.com/conferences/systor2009/
| |