[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