All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Osier Yang <jyang@redhat.com>
Cc: libvir-list@redhat.com, kvm@vger.kernel.org,
	penberg@cs.helsinki.fi, levinsasha928@gmail.com,
	gorcunov@gmail.com, mingo@elte.hu, asias.hejun@gmail.com
Subject: Re: [libvirt] [PATCH 7/7] kvmtool: Implementation for kvm tool driver
Date: Tue, 6 Dec 2011 14:55:38 +0000	[thread overview]
Message-ID: <20111206145538.GG7937@redhat.com> (raw)
In-Reply-To: <1321012626-31713-9-git-send-email-jyang@redhat.com>

On Fri, Nov 11, 2011 at 07:57:06PM +0800, Osier Yang wrote:
> Basically, the drivers is implemented by using kvm tool binary
> currently, (see ./kvm help for more info).
> 
> Current implementation supports define/undefine, start/destroy/,
> suspend/resume, connect to guest console via "virsh console",
> and balloon memory with with "virsh setmem" (using ./kvm balloon
> command). Also as it supports cgroup controllers "cpuacct", and
> "memory", so some other commands like "schedinfo", "memtune" can
> also work. Some other commands such as "domid", "domname", "dumpxml"
> ,"autostart", etc. are supported, as the driver is designed
> as a "stateful" driver, those APIs just need to talk with libvirtd
> simply.
> 
> As Native Linux KVM Tool is designed for both non-root and root users,
> the driver is designed just like QEMU, supports two modes of the
> connection:
> 
>     kvmtool:///system
>     kvmtool+unix:///system
> 
>     kvmtool:///session
>     kvmtool+unix:///session
> 
> An example of the domain XML (all the XMLs supported currently are
> listed):
> 
> % virsh -c kvm:///system dumpxml kvm_test
> <domain type='kvmtool'>
>   <name>kvm_test</name>
>   <uuid>88bf38f1-b6ab-cfa6-ab53-4b4c0993d894</uuid>
>   <memory>524288</memory>
>   <currentMemory>524288</currentMemory>
>   <vcpu>1</vcpu>
>   <os>
>     <type arch='x86_64'>hvm</type>
>     <kernel>/boot/bzImage</kernel>
>     <boot dev='hd'/>
>   </os>
>   <clock offset='utc'/>
>   <on_poweroff>destroy</on_poweroff>
>   <on_reboot>restart</on_reboot>
>   <on_crash>restart</on_crash>
>   <devices>
>     <emulator>/usr/bin/kvmtool</emulator>
>     <disk type='file' device='disk'>
>       <source file='/var/lib/libvirt/images/linux-0.2.img'/>
>       <target dev='vda' bus='virtio'/>
>     </disk>
>     <filesystem type='mount' accessmode='passthrough'>
>       <source dir='/tmp'/>
>       <target dir='/mnt'/>
>     </filesystem>
>     <console type='pty'>
>       <target type='serial' port='0'/>
>     </console>
>     <memballoon model='virtio'/>
>   </devices>
> </domain>
> ---
>  cfg.mk                       |    1 +
>  daemon/Makefile.am           |    4 +
>  daemon/libvirtd.c            |    7 +
>  po/POTFILES.in               |    2 +
>  src/Makefile.am              |   36 +-
>  src/kvmtool/kvmtool_conf.c   |  130 ++
>  src/kvmtool/kvmtool_conf.h   |   66 +
>  src/kvmtool/kvmtool_driver.c | 3079 ++++++++++++++++++++++++++++++++++++++++++
>  src/kvmtool/kvmtool_driver.h |   29 +

My main suggestion here would be to split up the kvmtool_driver.c
file into 3 parts as we did with the QEMU driver.

  kvmtool_driver.c   -> Basic libvirt API glue
  kvmtool_command.c  -> ARGV generation
  kvmtool_process.c  -> KVMtool process start/stop/autostart/autodestroy

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

  reply	other threads:[~2011-12-06 14:56 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-11 11:56 [libvirt] (no subject) Osier Yang
2011-11-11 11:30 ` [libvirt] Add driver support for Native Linux KVM Tool Osier Yang
2011-11-11 11:56 ` [libvirt] [PATCH 1/7] kvmtool: Add configure support Osier Yang
2011-11-11 11:57 ` [libvirt] [PATCH] kvm tools: Introduce an ENV variable for the state dir Osier Yang
2011-12-06 14:39   ` Daniel P. Berrange
2011-12-09  7:18     ` Osier Yang
2011-11-11 11:57 ` [libvirt] [PATCH 2/7] kvmtool: Add documents Osier Yang
2011-12-06 14:47   ` Daniel P. Berrange
2011-11-11 11:57 ` [libvirt] [PATCH 3/7] kvmtool: Add new enums and error codes for the driver Osier Yang
2011-12-06 14:47   ` Daniel P. Berrange
2011-11-11 11:57 ` [libvirt] [PATCH 4/7] kvmtool: Add hook support for kvmtool domain Osier Yang
2011-12-06 14:48   ` Daniel P. Berrange
2011-11-11 11:57 ` [libvirt] [PATCH 5/7] kvmtool: Add new domain type Osier Yang
2011-12-06 14:46   ` Daniel P. Berrange
2011-12-09  7:22     ` Osier Yang
2011-11-11 11:57 ` [libvirt] [PATCH 6/7] conf: Set source type of the stub console Osier Yang
2011-11-11 11:57 ` [libvirt] [PATCH 7/7] kvmtool: Implementation for kvm tool driver Osier Yang
2011-12-06 14:55   ` Daniel P. Berrange [this message]
2011-12-09  7:30     ` Osier Yang
2011-12-06 14:38 ` [libvirt] (no subject) Daniel P. Berrange
2011-12-07  6:21   ` Sasha Levin
2011-12-07  9:16     ` Daniel P. Berrange
2011-12-09 12:45       ` Osier Yang
2011-12-09 12:41     ` Osier Yang
2011-12-09 12:30   ` Osier Yang
2011-12-10 17:56     ` Pekka Enberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111206145538.GG7937@redhat.com \
    --to=berrange@redhat.com \
    --cc=asias.hejun@gmail.com \
    --cc=gorcunov@gmail.com \
    --cc=jyang@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=levinsasha928@gmail.com \
    --cc=libvir-list@redhat.com \
    --cc=mingo@elte.hu \
    --cc=penberg@cs.helsinki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.