Re: Hypercall for sleeping for some amount of time?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 23/01/2015 10:40, Stefan Fritsch wrote:
> Hi,
> 
> there are situations where a guest needs to wait, but has interrupts 
> disabled.  Usually this is done by polling in a tight loop, which is a 
> waste of CPU cycles on a virtualized system. Therefore I propose to 
> add a hypercall to KVM that allows the guest to yield the CPU for a 
> specified amount of time.
> 
> One significant use case is the guest sitting in a kernel debugger and 
> polling for user input. But I expect that there are other situations 
> where such a hypercall could be useful, for example during hardware 
> detection at startup.
> 
> What do you think about this idea?
> 
> What would be the preferred interface for such a hypercall? Using 
> vmcall like KVM_HC_*, or MSR write, or even a simple IO port write? Is 
> there a way to make this architecture independent?
> 
> For detection, at least a new bit in KVM_CPUID_FEATURES would be 
> necessary.  Does one also need more information, like the minimum 
> supported delay and the expected granularity of the delay? Also, 
> should the call be simply "best effort" or should it guarantee that it 
> sleeps for at least the requested time? I think keeping it simple at 
> first would be best.

I think a platform device similar to drivers/platform/x86/pvpanic.c
would be best.  That would be a simple IO port write (milliseconds?),
with the port described in ACPI.

Paolo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux