On 15/01/2015 20:07, Mark Burton wrote:
> However - if we go this route -the current patch is only for x86.
> (apart from the fact that we still seem to land in a deadlock…)

Jan said he had it working at least on ARM (MusicPal).

> One thing I wonder - why do we need to go to the extent of mutexing
> in the TCG like this? Why can’t you simply put a mutex get/release on
> the slow path? If the core is going to do ‘fast path’ access to the
> memory, - even if that memory was IO mapped - would it matter if it
> didn’t have the mutex?

Because there is no guarantee that the memory map isn't changed by a
core under the feet of another.  The TLB (in particular the "iotlb") is
only valid with reference to a particular memory map.

Changes to the memory map certainly happen in the slow path, but lookups
are part of the fast path.  Even an rwlocks is too slow for a fast path,
hence the plan of going with RCU.

Paolo

Reply via email to