OpenVZ Forum


Home » Mailing lists » Devel » PPC64 Kernel 2.6.18 + RPM packages
Re: PPC64 Kernel 2.6.18 + RPM packages [message #13390 is a reply to message #13238] Fri, 25 May 2007 12:41 Go to previous messageGo to previous message
dev is currently offline  dev
Messages: 1693
Registered: September 2005
Location: Moscow
Senior Member

Christian,

sys_fairsched_chwt() can return ENOENT in the only case:
when fairsched node ID was not found in the list.
but VE0 node is always on the list.
So I guess there is something wrong with syscall args in your case.

Please apply the attached patch to the kernel and vzctl
recompile/reboot and report the output of both.

Thanks,
Kirill


> When, where and what should return "-ENOSYS"?
>
> I rechecked my .config file and I've seen that
> CONFIG_SCHED_VCPU=y
> CONFIG_FAIRSCHED=y
> is already in it. But I cannot find it in the menuconfig. The menu of
> powerpc architecture is a bit different than i386. So perhaps I just
> haven't seen it... where should I find it then?
>
> So what I posted before is perhaps wrong. CONFIG_FAIRSCHED _was set_ in
> .config file. But I got the error "fairsched_chwt: No such file or
> directory".
>
> Mit freundlichen Grüßen / Best Regards
> Christian Kaiser
> --
> IBM Deutschland Entwicklung GmbH
> Open Systems Firmware Development
> mail: ckaiser2@de.ibm.com
>
> IBM Deutschland Entwicklung GmbH
> Vorsitzender des Aufsichtsrats: Martin Jetter
> Geschäftsführung: Herbert Kircher
> Sitz der Gesellschaft: Böblingen
> Registergericht: Amtsgericht Stuttgart, HRB 243294
>
>
>


--- ./kernel/fairsched.c.ve2350 2007-05-24 11:48:18.000000000 +0400
+++ ./kernel/fairsched.c 2007-05-25 16:36:36.000000000 +0400
@@ -618,6 +618,7 @@ static struct fairsched_node *fairsched_
struct fairsched_node *p;

for_each_fairsched_node(p) {
+ printk(" fairsched_find: search %u, node: %d/%u\n", id, p->id, p->id);
if (p->id == id)
return p;
}
@@ -734,9 +735,13 @@ int do_fairsched_chwt(unsigned int id, u
if (weight < 1 || weight > FSCHWEIGHT_MAX)
return -EINVAL;

+ printk("do_fairsched_chwt: node %u, w %u\n", id, weight);
node = fairsched_find(id);
- if (node == NULL)
+ if (node == NULL) {
+ printk("do_fairsched_chwt: ENOENT\n");
return -ENOENT;
+ }
+ printk("do_fairsched_chwt: found\n");

spin_lock_irq(&fairsched_lock);
node->weight = weight;

diff --git a/src/lib/cpu.c b/src/lib/cpu.c
index 947d973..b0b53a7 100644
--- a/src/lib/cpu.c
+++ b/src/lib/cpu.c
@@ -74,7 +74,7 @@ static int set_cpulimit(envid_t veid, un

static int set_cpuweight(envid_t veid, unsigned int cpuweight)
{
-
+ logger(0, 0, "vzctl: fairsched_chwt(%u, %u)", veid, cpuweight);
if (fairsched_chwt(veid, cpuweight)) {
logger(-1, errno, "fairsched_chwt");
return VZ_SETFSHD_ERROR;
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: listhelp.h
Next Topic: [PATCH -mm] Fix /proc/slab_allocators re seq_list_next() conversion
Goto Forum:
  


Current Time: Wed Aug 14 11:16:57 GMT 2024

Total time taken to generate the page: 0.02802 seconds