From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:49428) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q9v3c-0004jl-O4 for qemu-devel@nongnu.org; Wed, 13 Apr 2011 04:04:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q9v3c-0005Mk-1s for qemu-devel@nongnu.org; Wed, 13 Apr 2011 04:04:12 -0400 Received: from mail-yx0-f173.google.com ([209.85.213.173]:33924) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q9v3b-0005Mf-Uf for qemu-devel@nongnu.org; Wed, 13 Apr 2011 04:04:12 -0400 Received: by yxk8 with SMTP id 8so201951yxk.4 for ; Wed, 13 Apr 2011 01:04:11 -0700 (PDT) Sender: Paolo Bonzini From: Paolo Bonzini Date: Wed, 13 Apr 2011 10:03:42 +0200 Message-Id: <1302681826-10236-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH v4 0/4] Fix -icount with iothread List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: edgar.iglesias@gmail.com This series finally fixes -icount with iothread and avoids deadlocks due to the vm_clock not making progress when the VM is stopped. The crux of the fix is in patch 1, while patch 2 implements the "clock warping" that fixes deadlocks in v2. Clock warping uses the nanosecond resolution rt_clock timers introduced by my previous series. With this in place, patch 3 can revert the previous attempt(s). Finally, patch 4 makes the icount code clearer by finishing the bugfix/reorganization of qemu_next_deadline vs. qemu_next_alarm_deadline. v1->v2: reordered patches, renamed qemu_next_deadline v2->v3: introduced warp timer v3->v4: added comments to the code Paolo Bonzini (4): really fix -icount in the iothread case enable vm_clock to "warp" in the iothread+icount case Revert wrong fixes for -icount in the iothread case qemu_next_deadline should not consider host-time timers cpus.c | 13 ++++- qemu-common.h | 1 + qemu-timer.c | 169 ++++++++++++++++++++++++++++++++++++++++++++------------- qemu-timer.h | 3 +- roms/seabios | 2 +- 5 files changed, 146 insertions(+), 42 deletions(-) -- 1.7.4