Date: Wed, 1 Sep 2004 17:04:24 +0300 From: Giorgos Keramidas <keramida@freebsd.org> To: Julian Elischer <julian@freebsd.org> Cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/amd64/amd64 mp_machdep.c src/sys/i386/i386 mp_machdep.c src/sys/i386/include param.h src/sys/kern kern_idle.c kern_switch.c sched_4bsd.c subr_smp.c src/sys/sys smp.h Message-ID: <20040901140424.GA6322@orion.daedalusnetworks.priv> In-Reply-To: <20040901112017.GA43387@orion.daedalusnetworks.priv> References: <200409010642.i816g2lK094069@repoman.freebsd.org> <20040901112017.GA43387@orion.daedalusnetworks.priv>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2004-09-01 14:20, Giorgos Keramidas <keramida@freebsd.org> wrote: > On 2004-09-01 06:42, Julian Elischer <julian@freebsd.org> wrote: > > 1.191 +135 -1 src/sys/kern/subr_smp.c > > This moved all_cpus in an #ifdef SMP which breaks the compilation on > non-SPM systems: [...] > > If all_cpus is only meaningful in the #ifdef SMP case, the following > diff seems necessary to unbreak the build of HEAD on non-SMP systems: [...] Hmmm, now that I look at sys/smp.h the all_cpus and nearby externs should be moved inside #ifdef SMP too to match the changes of 1.191 subr_smp.c: %%% Index: sys/smp.h =================================================================== RCS file: /home/ncvs/src/sys/sys/smp.h,v retrieving revision 1.80 diff -u -r1.80 smp.h --- sys/smp.h 1 Sep 2004 06:42:02 -0000 1.80 +++ sys/smp.h 1 Sep 2004 14:00:30 -0000 @@ -49,23 +49,26 @@ extern int smp_cpus; extern volatile cpumask_t started_cpus; extern volatile cpumask_t stopped_cpus; +extern cpumask_t all_cpus; +extern cpumask_t idle_cpus_mask; +extern cpumask_t hlt_cpus_mask; +extern cpumask_t logical_cpus_mask; #endif /* SMP */ extern u_int mp_maxid; extern int mp_ncpus; extern volatile int smp_started; -extern cpumask_t all_cpus; -extern cpumask_t idle_cpus_mask; -extern cpumask_t hlt_cpus_mask; -extern cpumask_t logical_cpus_mask; - /* * Macro allowing us to determine whether a CPU is absent at any given * time, thus permitting us to configure sparse maps of cpuid-dependent * (per-CPU) structures. */ +#ifdef SMP #define CPU_ABSENT(x_cpu) ((all_cpus & (1 << (x_cpu))) == 0) +#else +#define CPU_ABSENT(x_cpu) (0) +#endif #ifdef SMP /* Index: kern/subr_smp.c =================================================================== RCS file: /home/ncvs/src/sys/kern/subr_smp.c,v retrieving revision 1.191 diff -u -r1.191 subr_smp.c --- kern/subr_smp.c 1 Sep 2004 06:42:01 -0000 1.191 +++ kern/subr_smp.c 1 Sep 2004 11:12:38 -0000 @@ -495,7 +495,6 @@ { mp_ncpus = 1; mp_maxid = PCPU_GET(cpuid); - all_cpus = PCPU_GET(cpumask); KASSERT(PCPU_GET(cpuid) == 0, ("UP must have a CPU ID of zero")); } SYSINIT(cpu_mp_setvariables, SI_SUB_TUNABLES, SI_ORDER_FIRST, %%%
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040901140424.GA6322>