On 03/02/2017 20:09, Radim Krcmar wrote: > One reason why we have a kernel/userspace split is to allow sharing of > CPU time. Each application then its state that the kernel keeps track > of and saves/restores while time-multiplexing. > > Our frequency scaling interface goes against the idea -- guest kernel > cannot schedule multiple userspaces on the same vCPU, because they could > conflict by overriding frequency. > > i.e. our feature implies userspace tasks pinned to isolated vCPUs. That's bad. This feature is broken by design unless it does proper save/restore across preemption. You don't need a hypercall. Add a cpufreq driver in DPDK that doesn't use sysfs, and connect it to a daemon in the host through virtio-serial or vsock. Paolo