From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47804) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bmlLW-0001fb-H3 for qemu-devel@nongnu.org; Wed, 21 Sep 2016 13:30:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bmlLS-00056H-Dv for qemu-devel@nongnu.org; Wed, 21 Sep 2016 13:30:09 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:51700) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bmlLQ-00053a-5k for qemu-devel@nongnu.org; Wed, 21 Sep 2016 13:30:06 -0400 Date: Wed, 21 Sep 2016 13:29:54 -0400 From: "Emilio G. Cota" Message-ID: <20160921172954.GG13385@flamenco> References: <1474289459-15242-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1474289459-15242-1-git-send-email-pbonzini@redhat.com> Subject: Re: [Qemu-devel] [PATCH v7 00/16] cpu-exec: Safe work in quiescent state List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org, serge.fdrv@gmail.com, alex.bennee@linaro.org, sergey.fedorov@linaro.org 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) Thanks, E.