So obviously I messed something up with the threading on the responses -
thought I had it right, but not quite I guess. Oh well - I think it's
obvious what I was trying to do ;-)
v5 updates:
Patch 1/10 (forgot to edit the 10)
* Fixes the syntax check
* Moves the PostParse autofill of iothreadids right after the possible
reading from XML
Patch 4/9
* Add virDomainIOThreadIDArrayHasPin which will looking through the
niothreadids[] array for any iothreadid[] with a cpumask defined
* Fail in virDomainIOThreadPinDefParseXML if the iothreadid cannot be found
* Remove [n]iothreadspin references
* Left the cpumask checking to default - I think all should be handled
in a later/separate patch
* Fixed qemuSetupCgroupForIOThreads cpumask ordering
Patch 5/9
* Adjusted the test to use 'fifo' *and* priority='1' for second entry
(got a failure in a different test after my first pass)
Patch 7.5/9
* NEW - Code that will remove the iothread_id bit from the ids mask. I
did test this and it worked like I expected...
Patch 8/9
* Not quite sure what was meant by auto numa placement so I didn't add
that into the patch I sent, but if the following is what you meant, then
I can squash it in (and define cpumask appropriately)
+ if (vm->def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO)
+ cpumask = priv->autoCpuset;
+ else
+ cpumask = vm->def->cpumask;
+
+ if (cpumask) {
+ if (qemuDomainHotplugPinThread(cpumask, iothread_id,
* Remove qemuProcessSetSchedParams
* Remove niothreadspin
* Remove the virNumaIsAvailable() hunk from qemuDomainChgIOThread
Tks,
John