Il 06/05/2013 16:05, Jan Kiszka ha scritto: >> Also, memory_region_find cannot know if it's returning a valid result, >> and the callee cannot check it because the region may have disappeared >> already when it is returned. > > Again, we hold the address space lock while checking the conditions. If > a region does not supports BQL-free mode and BQL is not held, we have an > error and return NULL (or bail out with a runtime error).
I've now posted my patches (which are really complementary to Ping Fan's), and there's no address space lock. (here is a lock, but the critical section is literally a handful of instructions and everything is done with reference counting. Paolo