Re: 2.6.23.1-rt4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



--
On Sat, 27 Oct 2007, trem wrote:
> Dragan Noveski wrote:
> >   LD      arch/i386/crypto/built-in.o
> >   AS [M]  arch/i386/crypto/aes-i586-asm.o
> >   CC [M]  arch/i386/crypto/aes.o
> >   LD [M]  arch/i386/crypto/aes-i586.o
> >   CC      kernel/sched.o
> > In file included from kernel/sched.c:863:
> > kernel/sched_rt.c: In function 'rt_overloaded':
> > kernel/sched_rt.c:21: error: 'struct rq' has no member named 'cpu'
> > kernel/sched_rt.c: In function 'rt_overload':
> > kernel/sched_rt.c:25: error: 'struct rq' has no member named 'cpu'
> > kernel/sched_rt.c: In function 'rt_set_overload':
> > kernel/sched_rt.c:29: error: 'struct rq' has no member named 'cpu'
> > kernel/sched_rt.c:29: error: 'struct rq' has no member named 'cpu'
> > kernel/sched_rt.c: In function 'rt_clear_overload':
> > kernel/sched_rt.c:33: error: 'struct rq' has no member named 'cpu'
> > kernel/sched_rt.c:33: error: 'struct rq' has no member named 'cpu'
> > make[1]: *** [kernel/sched.o] Fehler 1
> > make: *** [kernel] Fehler 2
> > nowhiskey@murija2:/usr/src/linux-2.6.23.1$
> >
> >
> > ............
> >
> > thanks and cheers,
> > doc
>
> HI
>
> I've got the same error with one on my config. I've investigated a bit,
>  and I've seen that cpu is only defined in struct rq on SMP kernel. So I
> think that you have a .config without SMP. To fix this problem, I
> propose this patch :
>
>
> Index: linux-2.6.23/kernel/sched_rt.c
> ===================================================================
> --- linux-2.6.23/kernel/sched_rt.c
> +++ linux-2.6.23/kernel/sched_rt.c      2007-10-27 11:04:08.000000000 -0400
> @@ -18,19 +18,35 @@
>
>  static inline int rt_overloaded(struct rq *rq)
>  {
> +#ifdef CONFIG_SMP
>         return !cpus_empty(*rt_overload_mask(rq->cpu));
> +#else
> +       return !cpus_empty(*rt_overload_mask(0));
> +#endif
>  }
>  static inline cpumask_t *rt_overload(struct rq *rq)
>  {
> +#ifdef CONFIG_SMP
>         return rt_overload_mask(rq->cpu);
> +#else
> +       return rt_overload_mask(0);
> +#endif
>  }
>  static inline void rt_set_overload(struct rq *rq)
>  {
> +#ifdef CONFIG_SMP
>         cpu_set(rq->cpu, *rt_overload_mask(rq->cpu));
> +#else
> +       cpu_set(0, *rt_overload_mask(0));
> +#endif
>  }
>  static inline void rt_clear_overload(struct rq *rq)
>  {
> +#ifdef CONFIG_SMP
>         cpu_clear(rq->cpu, *rt_overload_mask(rq->cpu));
> +#else
> +       cpu_clear(0, *rt_overload_mask(0));
> +#endif
>  }
>
>  /*

Thanks trem for pointing out the problem. I'll write up a little cleaner
patch.

-- Steve

-
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux