Re: [PATCH 9/9] x86/iommu: use dma_ops_list in get_dma_ops

From: Muli Ben-Yehuda
Date: Mon Sep 29 2008 - 05:26:44 EST


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