summary refs log tree commit diff stats
path: root/docs/devel/writing-monitor-commands.rst
diff options
context:
space:
mode:
authorHarsh Prateek Bora <harshpb@linux.ibm.com>2024-11-25 16:43:34 +1000
committerNicholas Piggin <npiggin@gmail.com>2024-11-27 02:49:36 +1000
commite8185fdc63e1db1efba695aae568fae8a075a815 (patch)
tree49723687607cc9fefea4ae9cbfaa3bb8b25b05a5 /docs/devel/writing-monitor-commands.rst
parent5e39814916c91485073da38f457a43bf317c1f08 (diff)
downloadfocaccia-qemu-e8185fdc63e1db1efba695aae568fae8a075a815.tar.gz
focaccia-qemu-e8185fdc63e1db1efba695aae568fae8a075a815.zip
ppc/spapr: fix drc index mismatch for partially enabled vcpus
In case when vcpus are explicitly enabled/disabled in a non-consecutive
order within a libvirt xml, it results in a drc index mismatch during
vcpu hotplug later because the existing logic uses vcpu id to derive the
corresponding drc index which is not correct. Use env->core_index to
derive a vcpu's drc index as appropriate to fix this issue.

For ex, for the given libvirt xml config:
  <vcpus>
    <vcpu id='0' enabled='yes' hotpluggable='no'/>
    <vcpu id='1' enabled='yes' hotpluggable='yes'/>
    <vcpu id='2' enabled='no' hotpluggable='yes'/>
    <vcpu id='3' enabled='yes' hotpluggable='yes'/>
    <vcpu id='4' enabled='no' hotpluggable='yes'/>
    <vcpu id='5' enabled='yes' hotpluggable='yes'/>
    <vcpu id='6' enabled='no' hotpluggable='yes'/>
    <vcpu id='7' enabled='no' hotpluggable='yes'/>
  </vcpus>

We see below error on guest console with "virsh setvcpus <domain> 5" :

pseries-hotplug-cpu: CPU with drc index 10000002 already exists

This patch fixes the issue by using correct drc index for explicitly
enabled vcpus during init.

Reported-by: Anushree Mathur <anushree.mathur@linux.vnet.ibm.com>
Tested-by: Anushree Mathur <anushree.mathur@linux.vnet.ibm.com>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Diffstat (limited to 'docs/devel/writing-monitor-commands.rst')
0 files changed, 0 insertions, 0 deletions