From mboxrd@z Thu Jan 1 00:00:00 1970 From: Radim =?utf-8?B?S3LEjW3DocWZ?= Subject: Re: [PATCH v5 untested] kvm: better MWAIT emulation for guests Date: Tue, 21 Mar 2017 17:58:32 +0100 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 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 To: "Michael S. Tsirkin" Return-path: Content-Disposition: inline In-Reply-To: <20170321052102-mutt-send-email-mst@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org 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) ...