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