lkml.org 
[lkml]   [2011]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 0] A series patches for kvm&qemu to enable vcpu destruction in kvm
    From
    On Sat, Nov 26, 2011 at 1:54 AM, Jan Kiszka <jan.kiszka@web.de> wrote:
    > On 2011-11-25 00:35, Liu Ping Fan wrote:
    >> A series of patches from kvm, qemu to guest. These patches will finally enable vcpu destruction in kvm instance and let vcpu thread exit in qemu.
    >>
    >> Currently, the vcpu online feature enables the dynamical creation of vcpu and vcpu thread, while the offline feature can not destruct the vcpu and let vcpu thread exit, it just halt in kvm. Because currently, the vcpu will only be destructed when kvm instance is destroyed. We can
    >> change vcpu as an refer of kvm instance, and then vcpu's destruction MUST and CAN come before kvm's destruction.
    >>
    >> These patches use guest driver to notify the CPU_DEAD event to qemu, and later qemu asks kvm to release the dead vcpu and finally exit the
    >> thread.
    >> The usage is:
    >>       qemu$cpu_set n online
    >>       qemu$cpu_set n zap   ------------ This will destroy the vcpu-n in kvm and let vcpu thread exit
    >>      OR
    >>       qemu$cpu_set n offline  --------- This will just block vcpu-n in kvm
    >>
    >> Any comment and suggestion are welcome.
    >
    > The cpu_set command will probably not make it to QEMU upstream
    > (device_add/delete is the way to go - IMHO). So I would refrain from
    > adding anything to qemu-kvm at this point anyway.
    >
    Ok, I will see more details in device_add/delete.
    > Also, what would be> the advantage of 'zap' from user perspective?
    >
    Suppose we increase one user's cpu's utilization by creating more
    threads for them (of course, task_group is another choice), later we
    decide to reclaim the utilization from this user, so we remove some of
    the vcpu from this user's guest OS. But the related vcpu structure are
    not released in kernel in current code, and wasted.
    From another viewpoint, if we can dynamically create the vcpu & vcpu
    thread, we had better to have the ability to dynamically destroy them.

    >>
    >>
    >> Patches include:
    >> |-- guest
    >> |   `-- 0001-virtio-add-a-pci-driver-to-notify-host-the-CPU_DEAD-.patch
    >> |-- kvm
    >> |   |-- 0001-kvm-make-vcpu-life-cycle-separated-from-kvm-instance.patch
    >> |   `-- 0002-kvm-exit-to-userspace-with-reason-KVM_EXIT_VCPU_DEAD.patch
    >> `-- qemu
    >>     |-- 0001-Add-cpu_phyid_to_cpu-to-map-cpu-phyid-to-CPUState.patch
    >>     |-- 0002-Add-cpu_free-to-support-arch-related-CPUState-releas.patch
    >>     |-- 0003-Introduce-a-pci-device-cpustate-to-get-CPU_DEAD-even.patch
    >>     |-- 0004-Release-vcpu-and-finally-exit-vcpu-thread-safely.patch
    >>     `-- 0005-tmp-patches-for-linux-header-files.patch
    >>
    >
    > I only found kvm patch 0001 so far. Something probably went wrong with
    > your postings.
    >
    Sorry, I have resent them, pls re-fetch them .

    Thanks and regards,
    ping fan

    > Jan
    >
    >
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2011-11-27 04:09    [W:4.113 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site