From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40435) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpCa8-0002Ua-S6 for qemu-devel@nongnu.org; Thu, 22 Oct 2015 05:54:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZpCa5-0008S4-LP for qemu-devel@nongnu.org; Thu, 22 Oct 2015 05:54:48 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44497) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpCa5-0008S0-Fu for qemu-devel@nongnu.org; Thu, 22 Oct 2015 05:54:45 -0400 References: <1445364840-7056-1-git-send-email-lersek@redhat.com> <20151021183625.26940.67906@jljusten-ivb> <5628A0E8.8050705@redhat.com> <5628B165.9000000@redhat.com> From: Paolo Bonzini Message-ID: <5628B260.3060303@redhat.com> Date: Thu, 22 Oct 2015 11:54:40 +0200 MIME-Version: 1.0 In-Reply-To: <5628B165.9000000@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] hw/isa/lpc_ich9: inject the SMI on the VCPU that is writing to APM_CNT List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laszlo Ersek , Jordan Justen , qemu-devel@nongnu.org Cc: Michael Kinney , Gerd Hoffmann , "Michael S. Tsirkin" On 22/10/2015 11:50, Laszlo Ersek wrote: > ... With the "relaxed" method configured in OVMF, the above change would > make no difference as long as the BSP executes the firmware -- which is > guaranteed before ExitBootServices() --, but it still makes a difference > if later a runtime service is called by an AP. In that case the AP must > drag in the BSP, and that takes very long (1 second loop). We can > decrease that loop length of course, but how much? 100ms? 10ms? Timeouts are evil. In virtual machines there's no way to bound the timeout. Things such as SMIs on the host (!) can introduce latency. So the best timeout for OVMF is an infinite timeout. :) Perhaps we can introduce another PCD to remove the first timeout and start immediately with the SMI IPIs? Or a PCD to make the SMI handler send an SMI too all-excluding-self upon entry, since we cannot do that from Trigger() after ExitBootServices(). Paolo