Sergey Fedorov <sergey.fedo...@linaro.org> writes: > From: Sergey Fedorov <serge.f...@gmail.com> > > Hi, > > This is a v2 of the RFC series [3] that was a follow-up for a discussion > on the subject [1]. This is sill marked as FRC becuse it laks bsd-user > support.
Given the maintenance state of BSD I'm not sure how important this is. I assume the exclusive handling will be pretty much the same though. > > Basically, this series suggests a way to perform some operations in > quiescent state. The goal is to implement such a mechanism which can be > used for safe translation buffer flush in multi-threaded user-mode > emulation (and later in MTTCG) and merge it into mainline as soon as > possible. > > This series is a more elaborated version of the original series since > there was some positive feedback and I'd appreciate some comments from > maintainers this time. > > The first two patches are some useful tweak from Alex's MTTCG trees. > > The patches 3 through 8 are arrangements for the patch 9 which adds > support for CPU work in linux-user. This wouldn't make any sense without > the patch 10 which is the subject matter of this series. Although there > is nothing special to do in case of single-threaded round-robin CPU loop > of current system-mode emulation to ensure quiescent state, that is > shown in the patch 10, how it would look like in MTTCG. The last patch > actually employs this new mechanism making translation buffer flush > thread safe. > > The considerations on expensiveness of work item dynamic allocation [2] > was not taken into account. I'll just mention here that the desired > effect can be achieved by either using dynamic arrays for CPU work > queues or making queue_work_on_cpu() from the patch 3 a public interface > thus allowing to use preallocated work items. > > I would like your comments in order to produce something upstreamable > quickly! > > This series is available at a public git repository: > > https://github.com/sergefdrv/qemu.git safe-cpu-work-v2 > I've finished by review pass now. If Sergey doesn't get a chance to re-spin before he moves onto other things I'll pick the series up. -- Alex Bennée