On 05/09/2016 17:51, Alex Bennée wrote: > And then ran the test in my pigz testing image: > > ./tests/docker/docker.py update pigz-test:armhf ./arm-linux-user/qemu-arm > retry.py -n 20 -c -- docker run -i -t --rm pigz-test:armhf pigz data.tar > > An observed the results of flushing including racing flushes which would > ordinarily take out the system. > > It would be nice to resurrect some of the tests/tcg stuff and see if we > can stress linux-user with creating and destroying threads. I guess the > work here also replaces Emilo's RCU cpu list.
Sort of, uses of CPU_FOREACH should be protected by RCU which isn't yet the case. But yes, that was the idea behind using a single mutex. Related to this, in fact you don't need to hold the mutex between start_exclusive and end_exclusive. You can release it at the end of start_exclusive and take it again for end_exclusive. That's a bit nicer to reason about without making the mutex recursive mutexes. Paolo