From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37583) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VF3RS-0007Bk-7T for qemu-devel@nongnu.org; Thu, 29 Aug 2013 10:43:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VF3RM-0005Tp-3F for qemu-devel@nongnu.org; Thu, 29 Aug 2013 10:43:22 -0400 Received: from mx1.redhat.com ([209.132.183.28]:13255) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VF3RL-0005Tb-RB for qemu-devel@nongnu.org; Thu, 29 Aug 2013 10:43:16 -0400 From: Stefan Hajnoczi Date: Thu, 29 Aug 2013 16:42:46 +0200 Message-Id: <1377787369-26669-1-git-send-email-stefanha@redhat.com> Subject: [Qemu-devel] [PATCH v3 0/3] qemu-timer: make qemu_timer_mod_ns() and qemu_timer_del() thread-safe List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Ping Fan Liu , Alex Bligh v3: * Squashed Paolo's fixes and added his patch to avoid locking in timer_pending() v2: * Rebased onto qemu.git/master following the merge of Alex's AioContext timers The purpose of these patches is to eventually allow device models to set and cancel timers without holding the global mutex. When the device model runs in a vcpu thread and the iothread processes timers, the QEMUTimerList->active_timers must be protected from concurrent access. Patch 1 is a clean-up. Patch 2 is the entire change needed to protect ->active_timers. Patch 3 makes timer_pending() run without a lock. Paolo Bonzini (1): qemu-timer: do not take the lock in timer_pending Stefan Hajnoczi (2): qemu-timer: drop outdated signal safety comments qemu-timer: make qemu_timer_mod_ns() and qemu_timer_del() thread-safe include/qemu/timer.h | 17 ++++++++++ qemu-timer.c | 92 ++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 81 insertions(+), 28 deletions(-) -- 1.8.3.1