openvz and qemu [message #26800] |
Fri, 01 February 2008 06:05 |
Dietmar Maurer
Messages: 52 Registered: March 2007
|
Member |
|
|
Hi all,
i want to run a few qemu VMs inside VE0. Just wonder how to set
fairsched properties
for a single process?
- howto create a new faisched group (for the qemu process)?
- howto assign weight/rate
or is that not possible at all?
- Dietmar
|
|
|
|
|
AW: AW: openvz and qemu [message #27091 is a reply to message #26803] |
Fri, 08 February 2008 17:07 |
Dietmar Maurer
Messages: 52 Registered: March 2007
|
Member |
|
|
> check vzctl sources. it calls other OVZ-specific syscalls by
> their numbers, like sys_setluid, sys_setublimit etc.
>
> For creating fairsched node you'll need to call
> fairsched_mknod first, then move the process to this node
> using fairsched_mvpr
OK, I wrote a small (perl) script to test those syscalls, and everything
work as expected, for example:
..
fairsched_mknod (0, 500, 400);
fairsched_vcpus (400, 1);
set_cpulimit (400, 25);
fairsched_mvpr ($$, 400);
fork_and_do_something(); # runs with 25% cpu
wait
fairsched_rmnod (400);
..
work perfectly.
But when I call fairsched_rmnod(400) from another process while there is
still a process running inside 400 the system freezes. I get a kernel
panic somewhere inside move_task_off_dead_cpu.
any idea how to fix that?
- Dietmar
|
|
|
Re: AW: AW: openvz and qemu [message #27102 is a reply to message #27091] |
Sat, 09 February 2008 11:07 |
Kirill Korotaev
Messages: 137 Registered: January 2006
|
Senior Member |
|
|
node should be deleted normally only when no processes left.
it's possible to fix syscall to return an error when node is non-empty...
Dietmar Maurer wrote:
>
>> check vzctl sources. it calls other OVZ-specific syscalls by
>> their numbers, like sys_setluid, sys_setublimit etc.
>>
>> For creating fairsched node you'll need to call
>> fairsched_mknod first, then move the process to this node
>> using fairsched_mvpr
>
> OK, I wrote a small (perl) script to test those syscalls, and everything
> work as expected, for example:
>
> ..
> fairsched_mknod (0, 500, 400);
> fairsched_vcpus (400, 1);
> set_cpulimit (400, 25);
> fairsched_mvpr ($$, 400);
> fork_and_do_something(); # runs with 25% cpu
> wait
> fairsched_rmnod (400);
> ..
>
> work perfectly.
>
> But when I call fairsched_rmnod(400) from another process while there is
> still a process running inside 400 the system freezes. I get a kernel
> panic somewhere inside move_task_off_dead_cpu.
>
> any idea how to fix that?
>
> - Dietmar
>
>
>
>
>
|
|
|
|
|
|
Re: AW: AW: AW: openvz and qemu [message #27172 is a reply to message #27168] |
Mon, 11 February 2008 16:26 |
Kirill Korotaev
Messages: 137 Registered: January 2006
|
Senior Member |
|
|
AFAIR the only way is to take tasklist_lock
and check for tasks having vsched == your-node-vsched.
Kirill
Dietmar Maurer wrote:
>> care to create a patch?
>
> Please can you give me a hint where i can find the list of
> processes associated with a fairsched node?
>
> - Dietmar
>
>
|
|
|