On Mon, Sep 19, 2016 at 14:50:43 +0200, Paolo Bonzini wrote:
> In addition to fixing some of the issues found by Alex, safe work items
> need not run anymore with a mutex taken. Of course, cpu_exec_start/end
> and start_exclusive/end_exclusive are essentially the read and write
> side of a specialized rwlock, so there is still a lock in disguise looming
> to cause deadlocks; however, it does removes worries about recursive
> locking from CPU list manipulations.
> The new patches are 8, 12 and 13. Patch 12 of v6 has been split
> across patch 10 and patch 16.
I really like this patchset! Didn't have time to look at previous
iterations, but the use of the cpu_list_mutex to serialize safe
work is a great win--it simplifies things significantly.
BTW should we take this chance to RCU'ify the CPU list? This series
+ safe cpu_list traversals + cmpxchg changes = MTTCG user-mode would
be in very good shape. (full-system mode still needs work on the TLB
side, me thinks)