[Libguestfs] Assigning qemu process to cgroups

Nikita A Menkovich menkovich at gmail.com
Tue Jan 18 04:47:18 UTC 2011


Do I understand correctly, that libguestfs use qemu to work with drives?
If I will try to use it, I think it solves my disk io problem.

On 18 January 2011 02:18, Richard W.M. Jones <rjones at redhat.com> wrote:
>
> I had a go at writing a patch, but I think it's possible already
> without any patch.
>
> After launch you can get the PID of the qemu subprocess:
>  guestfs_get_pid (g);
>  --> returns PID
>
> You can use Linux to map this to a list of thread IDs:
>  ls /proc/$PID/task/
>  --> returns a list of thread IDs
>
> [Yes, this is potentially racy, but in reality qemu has already
> started up fully after guestfs_launch returns and is almost quiescent
> when you're not issuing commands.]
>
> Then you can assign the threads to the cgroup:
>
>  for tid in $(ls -1 /proc/$PID/task); do
>    echo $tid > /cgroup/blkio/$group/tasks
>  done
>
> This is more cumbersome if you're using guestfish instead of some
> scripting language, and it's difficult if you want to port to
> non-Linux, but should work in the common case AFAICS.  I've not tried
> it though ...
>
> Rich.
>
> --
> Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
> libguestfs lets you edit virtual machines.  Supports shell scripting,
> bindings from many languages.  http://et.redhat.com/~rjones/libguestfs/
> See what it can do: http://et.redhat.com/~rjones/libguestfs/recipes.html
>



-- 
Nikita A Menkovich
JID: menkovich at gmail.com
Tel: +7 (921) 423-96-48




More information about the Libguestfs mailing list