2002-09-24 04:30:42

by Bongani Hlope

[permalink] [raw]
Subject: [RFC][PATCH] Compilation fix 2.4.20-pre7

Hi Marcelo

Ian had some compilation error while trying to compile 2.4.20-pre7
this is the error that he got:

/usr/src/linux/include/linux/kernel_stat.h: In function `kstat_irqs':
/usr/src/linux/include/linux/kernel_stat.h:57: `smp_num_cpus' undeclared
(first use in this function)
/usr/src/linux/include/linux/kernel_stat.h:57: (Each undeclared
identifier is reported only once
/usr/src/linux/include/linux/kernel_stat.h:57: for each function it
appears in.)make[2]:
*** [ksyms.o] Error 1
make[2]: Leaving directory `/usr/src/linux/kernel'
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/usr/src/linux/kernel'
make: *** [_dir_kernel] Error 2

He got this when he was compiling a UP kernel. When
he tries to compile for a SMP kernel the error goes away.
Which makes sense because smp_num_cpus is only defined fro SMP
kernels. Does the following patch look OK? This is adopted from 2.5.38.


diff -uNr include/linux/kernel_stat.h~ include/linux/kernel_stat.h
--- include/linux/kernel_stat.h~ 2002-09-23 16:16:45.000000000
+++ include/linux/kernel_stat.h 2002-09-23 16:42:42.000000000 +0200
@@ -54,7 +54,7 @@
int i, sum=0;

- for (i = 0 ; i < smp_num_cpus ; i++)
+ for (i = 0 ; i < NR_CPUS ; i++)
sum += kstat.irqs[cpu_logical_map(i)][irq];

return sum