Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933641AbdCURAS (ORCPT ); Tue, 21 Mar 2017 13:00:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55350 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757781AbdCUQ6j (ORCPT ); Tue, 21 Mar 2017 12:58:39 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 714692E6047 Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=rkrcmar@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 714692E6047 Date: Tue, 21 Mar 2017 17:58:32 +0100 From: Radim =?utf-8?B?S3LEjW3DocWZ?= To: "Michael S. Tsirkin" Cc: "Gabriel L. Somlo" , linux-kernel@vger.kernel.org, Paolo Bonzini , Jonathan Corbet , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, Joerg Roedel , kvm@vger.kernel.org, linux-doc@vger.kernel.org Subject: Re: [PATCH v5 untested] kvm: better MWAIT emulation for guests Message-ID: <20170321165831.GC25540@potion> References: <20170316192622-mutt-send-email-mst@kernel.org> <20170316174149.GK4085@HEDWIG.INI.CMU.EDU> <20170316202024-mutt-send-email-mst@kernel.org> <20170316192440.GL4085@HEDWIG.INI.CMU.EDU> <20170316212635-mutt-send-email-mst@kernel.org> <20170316201710.GN4085@HEDWIG.INI.CMU.EDU> <20170316211414.GO4085@HEDWIG.INI.CMU.EDU> <20170317035716-mutt-send-email-mst@kernel.org> <20170317132355.GA10906@HEDWIG.INI.CMU.EDU> <20170321052102-mutt-send-email-mst@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170321052102-mutt-send-email-mst@kernel.org> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Tue, 21 Mar 2017 16:58:39 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2563 Lines: 57 2017-03-21 05:22+0200, Michael S. Tsirkin: > On Fri, Mar 17, 2017 at 09:23:56AM -0400, Gabriel L. Somlo wrote: >> OK, now on to Radim's test, on the MacPro1,1: >> >> [kvm-unit-tests]$ time TIMEOUT=20 ./x86-run x86/mwait.flat -append '240 1 1' >> timeout -k 1s --foreground 20 qemu-kvm -nodefaults -enable-kvm -device pc-testdev -device isa-debug-exit,iobase=0xf4,iosize=0x4 -vnc none -serial stdio -device pci-testdev -kernel x86/mwait.flat -append 240 1 1 >> enabling apic >> PASS: resumed from mwait 10000 times >> SUMMARY: 1 tests >> >> real 0m0.746s >> user 0m0.542s >> sys 0m0.215s >> [kvm-unit-tests]$ time TIMEOUT=20 ./x86-run x86/mwait.flat -append '240 1 0' >> timeout -k 1s --foreground 20 qemu-kvm -nodefaults -enable-kvm -device pc-testdev -device isa-debug-exit,iobase=0xf4,iosize=0x4 -vnc none -serial stdio -device pci-testdev -kernel x86/mwait.flat -append 240 1 0 >> enabling apic >> PASS: resumed from mwait 10000 times >> SUMMARY: 1 tests >> >> real 0m0.743s >> user 0m0.528s >> sys 0m0.226s >> [kvm-unit-tests]$ time TIMEOUT=20 ./x86-run x86/mwait.flat -append '240 1 1' -smp 2 >> timeout -k 1s --foreground 20 qemu-kvm -nodefaults -enable-kvm -device pc-testdev -device isa-debug-exit,iobase=0xf4,iosize=0x4 -vnc none -serial stdio -device pci-testdev -kernel x86/mwait.flat -append 240 1 1 -smp 2 >> enabling apic >> enabling apic >> FAIL: resumed from mwait 10150 times >> SUMMARY: 1 tests, 1 unexpected failures >> >> real 0m0.745s >> user 0m0.545s >> sys 0m0.214s >> [kvm-unit-tests]$ time TIMEOUT=20 ./x86-run x86/mwait.flat -append '240 1 0' -smp 2 >> timeout -k 1s --foreground 20 qemu-kvm -nodefaults -enable-kvm -device pc-testdev -device isa-debug-exit,iobase=0xf4,iosize=0x4 -vnc none -serial stdio -device pci-testdev -kernel x86/mwait.flat -append 240 1 0 -smp 2 >> enabling apic >> enabling apic >> FAIL: resumed from mwait 10116 times >> SUMMARY: 1 tests, 1 unexpected failures >> >> real 0m0.744s >> user 0m0.541s >> sys 0m0.217s >> >> HTH, >> --Gabriel > > Weird. How can it go above 10000? Radim - any idea? In '-smp 2', the writing VCPU always does 10000 wakeups by writing into monitored memory, but the mwaiting VCPU can be also woken up by host interrupts, which might add a few exits depending on timing. I didn't spend much time in making the PASS/FAIL mean much, or ensuring that we only get 10000 wakeups ... it is nothing to be worried about. Hint 240 behaves as nop even on my system, so I still don't find anything insane on that machine (if OS X is exluded) ...