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

Reply via email to