[Devel] PPC64 Kernel 2.6.18 + RPM packages

Christian Kaiser2 CKAISER2 at de.ibm.com
Fri May 25 06:30:42 PDT 2007


Kirill Korotaev <dev at sw.ru> wrote on 05/25/2007 02:41:09 PM:

> 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
>
>

OK! here it is:

1. vzctl:

[root at s10b10-0 ~]# vzctl set 0 --cpuunits 1000
Setting CPU units: 1000
vzctl: fairsched_chwt(2147483647, 500)
fairsched_chwt: No such file or directory

2. kernel messages (dmesg):

  fairsched_find: search 500, node: 2147483647/2147483647

> > 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
> >
> >
>
> --- ./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;

Mit freundlichen Grüßen / Best Regards
Christian Kaiser
--
IBM Deutschland Entwicklung GmbH
Open Systems Firmware Development
mail: ckaiser2 at 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





More information about the Devel mailing list