Re: CPU hotplug with KVM(ARM)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 18/04/13 15:16, Giridhar Maruthy wrote:

Hi Giridhar,

> Thanks a lot for pointing me at the series.
> I did apply the series and got cpu hotplug to work successfully.

Ah, good to know. Thanks for testing.

> However, I have the following doubts.
>  
> 1. Though the guest does not crash, when exiting the qemu, I get the
> following crash dump. I have not yet looked into the details.
>  
>  
> [  547.870000] [<c00145b0>] (unmap_range+0x9c/0x2f4) from [<c0014c2c>]
> (kvm_free_stage2_pgd+0x30/0x4c)
> [  547.880000] [<c0014c2c>] (kvm_free_stage2_pgd+0x30/0x4c) from
> [<c00129c8>] (kvm_arch_destroy_vm+0xc/0x38)
> [  547.890000] [<c00129c8>] (kvm_arch_destroy_vm+0xc/0x38) from
> [<c000eb6c>] (kvm_put_kvm+0xec/0x150)
> [  547.900000] [<c000eb6c>] (kvm_put_kvm+0xec/0x150) from [<c000f068>]
> (kvm_vcpu_release+0x10/0x18)
> [  547.910000] [<c000f068>] (kvm_vcpu_release+0x10/0x18) from
> [<c00bebcc>] (__fput+0x88/0x1dc)
> [  547.920000] [<c00bebcc>] (__fput+0x88/0x1dc) from [<c0044810>]
> (task_work_run+0xac/0xe8)
> [  547.920000] [<c0044810>] (task_work_run+0xac/0xe8) from [<c0030cb8>]
> (do_exit+0x22c/0x82c)
> [  547.930000] [<c0030cb8>] (do_exit+0x22c/0x82c) from [<c003132c>]
> (do_group_exit+0x48/0xb0)
> [  547.940000] [<c003132c>] (do_group_exit+0x48/0xb0) from [<c003b618>]
> (get_signal_to_deliver+0x278/0x504)
> [  547.950000] [<c003b618>] (get_signal_to_deliver+0x278/0x504) from
> [<c001c8e4>] (do_signal+0x74/0x460)
> [  547.960000] [<c001c8e4>] (do_signal+0x74/0x460) from [<c001d150>]
> (do_work_pending+0x64/0xac)
> [  547.970000] [<c001d150>] (do_work_pending+0x64/0xac) from
> [<c00199c0>] (work_pending+0xc/0x20)
> [  547.980000] Code: e1927003 0afffff0 e7e80658 e3a0c000 (e1cc20d0)
> [  547.980000] ---[ end trace 05d3020cd57fa289 ]---
> [  547.990000] Fixing recursive fault but reboot is needed!

It probably means we're having issues with the Stage-2 page refcounts.
Can you share the whole dump (I think there's a few additional lines
before what you quoted)?

> 2. I applied kvm-arm-fixes branch from Christoffer's tree
> (github.com/virtualopensystems/linux-kvm-arm
> <http://github.com/virtualopensystems/linux-kvm-arm>) and then applied
> the v4 series of "ARM: KVM: Revamping the HYP init code for fun and
> profit". I ran into some merge conflicts. So I manually edited and
> applied the patches. Should I be including any more dependant patches?

You'd be better of using the following branch:
git://github.com/columbia/linux-kvm-arm.git kvm-arm-for-next

as it should contain all you need. I haven't tested it yet, though.

> 3. Regarding putting the secondary processors in hyp mode during cpu
> hotplug, you suggested this to be done in firmware. During kernel
> startup, u-boot used to do this job. After kernel startup, we have no
> u-boot to do the job. When cpu is offlined, ROM code is run and the cpu
> waits for an interrupt. SInce I cannot change the ROM code now, any idea
> where this functionality can be included ?

You could always reserve a page (using the /memreserve/ directive in
your DT), let u-boot put your trampoline code there, and just use it
directly. No need to duplicate this code, it is tricky enough.

Cheers,

	M.
-- 
Jazz is not dead. It just smells funny...


_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux