Re: [PATCH 4/4] nohz: Set isolcpus when nohz_full is set

Rik van Riel
2015-06-12T19:12:47Z

On 05/18/2015 10:30 PM, Mike Galbraith wrote:
> On Mon, 2015-05-18 at 10:52 -0400, Rik van Riel wrote:
>
>> For real time KVM, it is desirable to run the VCPU threads on
>> isolated CPUs as real time tasks.
>>
>> Meanwhile, the emulator threads can run as normal tasks anywhere
>> on the system.
>>
>> This means the /machine cpuset, which all guests live under,
>> needs to contain all the system's CPUs, both isolated and
>> non-isolated, otherwise it will be unable to have the VCPU
>> threads on isolated CPUs and the emulator threads on other
>> CPUs.
>
> Ok, I know next to nothing about virtualization only because I failed at
> maintaining the desired absolute zero, but...
>
> Why do you use isolcpus for this? This KVM setup sounds very similar to
> what I do for real realtime. I use a shield script to set up an
> exclusive isolated set and a system set and move the mundane world into
> the system set. Inject realtime proggy into its exclusive home, it
> creates/pins worker bees, done. Why the cpuset isolcpus hybrid?

Because libvirt doesn't know any better currently.

Ideally in the long run, we would use only cpusets, and not
boot with isolcpus at all.

Of course, things like irqbalance also key off isolcpus, to
avoid assigning irqs to the isolated cpus, so there are quite
a few puzzle pieces, and the best I can hope for in the short
term is to simply resolve the incompatibilities where one
piece of software undoes the settings required by another...

--
All rights reversed