Re: [PATCH] Read-Copy Update 2.5.36

Dipankar Sarma (dipankar@in.ibm.com)
Thu, 19 Sep 2002 00:10:18 +0530


On Wed, Sep 18, 2002 at 07:38:30PM +0200, Marc-Christian Petersen wrote:
> Hi Dipankar,
>
> > Here is RCU for 2.5.36. It is just a rediff from earlier version.
> unfortunately it does not build the modules correctly.
>
> Output of "make modules"
>
> make[1]: Entering directory `/usr/src/linux-2.5.36-vanilla/fs'
> gcc -Wp,-MD,./.binfmt_misc.o.d -D__KERNEL__
> -I/usr/src/linux-2.5.36-vanilla/include -Wall -Wstrict-prototypes
> -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common
> -pipe -mpreferred-stack-boundary=2 -march=i686 -nostdinc -iwithprefix include
> -DMODULE -DKBUILD_BASENAME=binfmt_misc -c -o binfmt_misc.o binfmt_misc.c
> In file included from /usr/src/linux-2.5.36-vanilla/include/linux/mm.h:4,
> from /usr/src/linux-2.5.36-vanilla/include/linux/pagemap.h:7,
> from binfmt_misc.c:26:
> /usr/src/linux-2.5.36-vanilla/include/linux/sched.h:480: parse error before
> `cpu_quiescent'
> /usr/src/linux-2.5.36-vanilla/include/linux/sched.h:480: warning: type
> defaults to `int' in declaration of `DEFINE_PER_CPU'
> /usr/src/linux-2.5.36-vanilla/include/linux/sched.h:480: warning: function
> declaration isn't a prototype

Ok, so DEFINE_PER_CPU() has now been excluded when MODULE is defined.
The included patch below should fix that.

Thanks

-- 
Dipankar Sarma  <dipankar@in.ibm.com> http://lse.sourceforge.net
Linux Technology Center, IBM Software Lab, Bangalore, India.

--- linux-2.5.36-rcu_poll/include/linux/sched.h.orig Wed Sep 18 22:33:16 2002 +++ linux-2.5.36-rcu_poll/include/linux/sched.h Wed Sep 18 22:49:51 2002 @@ -477,7 +477,9 @@ extern struct mm_struct init_mm; extern struct task_struct *init_tasks[NR_CPUS]; +#ifndef MODULE extern DEFINE_PER_CPU(long, cpu_quiescent); +#endif /* PID hashing. (shouldnt this be dynamic?) */ #define PIDHASH_SZ 8192 @@ -1029,7 +1031,7 @@ #endif /* CONFIG_SMP */ -#ifdef CONFIG_PREEMPT +#if defined(CONFIG_PREEMPT) && !defined(MODULE) extern DEFINE_PER_CPU(atomic_t[2], rcu_preempt_cntr); extern DEFINE_PER_CPU(atomic_t, *curr_preempt_cntr); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/