On 2/28/23 12:49 AM, Andrew Cooper wrote:
> On 28/02/2023 6:44 am, Joe Jin wrote:
>> Hi,
>>
>> We encountered a vcpu-set issue on old xen, when I tried to confirm
>> if xen upstream xen has the same issue I find neither my upstream build
>> nor ubuntu 22.04 xen-hypervisor-4.16 work.
>>
>> I can add vcpus(8->16) to my guest but I can not reduce vcpu number:
>>
>> root@ubuntu2204:~/vm# xl list
>> Name                                        ID   Mem VCPUs    State    
>> Time(s)
>> Domain-0                                     0 255424    32     r-----     
>> 991.9
>> testvm                                       1   4088    16     -b----      
>> 94.6
>> root@ubuntu2204:~/vm# xl vcpu-set testvm 8
>> root@ubuntu2204:~/vm# xl list
>> Name                                        ID   Mem VCPUs    State    
>> Time(s)
>> Domain-0                                     0 255424    32     r-----     
>> 998.5
>> testvm                                       1   4088    16     -b----      
>> 97.3
>>
>> After xl vcpu-set, xenstore showed online cpu number reduced to 8:
>>
>> /local/domain/1/vm = "/vm/aa109ea0-2fde-4712-81d8-75f73bd73715"
>> /local/domain/1/name = "testvm"
>> /local/domain/1/cpu = ""
>> /local/domain/1/cpu/0 = ""
>> /local/domain/1/cpu/0/availability = "online"
>> /local/domain/1/cpu/1 = ""
>> /local/domain/1/cpu/1/availability = "online"
>> /local/domain/1/cpu/2 = ""
>> /local/domain/1/cpu/2/availability = "online"
>> /local/domain/1/cpu/3 = ""
>> /local/domain/1/cpu/3/availability = "online"
>> /local/domain/1/cpu/4 = ""
>> /local/domain/1/cpu/4/availability = "online"
>> /local/domain/1/cpu/5 = ""
>> /local/domain/1/cpu/5/availability = "online"
>> /local/domain/1/cpu/6 = ""
>> /local/domain/1/cpu/6/availability = "online"
>> /local/domain/1/cpu/7 = ""
>> /local/domain/1/cpu/7/availability = "online"
>> /local/domain/1/cpu/8 = ""
>> /local/domain/1/cpu/8/availability = "offline"
>> /local/domain/1/cpu/9 = ""
>> /local/domain/1/cpu/9/availability = "offline"
>> /local/domain/1/cpu/10 = ""
>> /local/domain/1/cpu/10/availability = "offline"
>> /local/domain/1/cpu/11 = ""
>> /local/domain/1/cpu/11/availability = "offline"
>> /local/domain/1/cpu/12 = ""
>> /local/domain/1/cpu/12/availability = "offline"
>> /local/domain/1/cpu/13 = ""
>> /local/domain/1/cpu/13/availability = "offline"
>> /local/domain/1/cpu/14 = ""
>> /local/domain/1/cpu/14/availability = "offline"
>> /local/domain/1/cpu/15 = ""
>> /local/domain/1/cpu/15/availability = "offline"
>> /local/domain/1/cpu/16 = ""
>> /local/domain/1/cpu/16/availability = "offline"
>>
>> But guest did not received any offline events at all.
>>
>> From source code my understand is for cpu online, libxl will
>> send device_add to qemu to trigger vcpu add, for cpu offline,
>> it still rely on xenstore, is this correct? anything can block
>> cpu scale down?
>>
>> Appreciate for any suggestions!
> Your mention of Qemu suggests this is an HVM guest.  Can you confirm?
Yes it's HVM guest.

Thanks,
Joe


Reply via email to