Date: Mon, 27 Sep 2010 19:41:09 +0200 From: Attilio Rao <attilio@freebsd.org> To: Sean Bruno <seanbru@yahoo-inc.com> Cc: "sbruno@freebsd.org" <sbruno@freebsd.org>, "current@freebsd.org" <current@freebsd.org> Subject: Re: MAXCPU preparations Message-ID: <AANLkTini=hUrGq3dMcksf45E1q8MPpdhnkhr-gA0sW5-@mail.gmail.com> In-Reply-To: <1285604516.7245.16.camel@home-yahoo> References: <1285601161.7245.7.camel@home-yahoo> <4CA0BE08.50408@freebsd.org> <1285604516.7245.16.camel@home-yahoo>
next in thread | previous in thread | raw e-mail | index | archive | help
2010/9/27 Sean Bruno <seanbru@yahoo-inc.com>: > On Mon, 2010-09-27 at 08:53 -0700, Julian Elischer wrote: >> On 9/27/10 8:26 AM, Sean Bruno wrote: >> > Does this look like an appropriate modification to libmemstat? >> > >> > Sean >> > >> > >> > =3D=3D=3D=3D //depot/yahoo/ybsd_7/src/lib/libmemstat/memstat.h#4 >> > - /home/seanbru/ybsd_7/src/lib/libmemstat/memstat.h =3D=3D=3D=3D >> > @@ -28,12 +28,13 @@ >> > >> > =C2=A0 #ifndef _MEMSTAT_H_ >> > =C2=A0 #define =C2=A0 =C2=A0 =C2=A0 =C2=A0_MEMSTAT_H_ >> > +#include<sys/param.h> >> > >> > =C2=A0 /* >> > =C2=A0 =C2=A0* Number of CPU slots in library-internal data structures= . =C2=A0This >> > should be >> > =C2=A0 =C2=A0* at least the value of MAXCPU from param.h. >> > =C2=A0 =C2=A0*/ >> > -#define =C2=A0 =C2=A0 =C2=A0 =C2=A0MEMSTAT_MAXCPU =C2=A064 >> > +#define =C2=A0 =C2=A0 =C2=A0 =C2=A0MEMSTAT_MAXCPU =C2=A0MAXCPU /* def= ined in >> > sys/${ARCH}/include/param.h */ >> > >> >> >> wouldn't it be better to do a sysctlbyname() and use the real value >> for the system? >> > > That was my initial thought (as prodded by scottl and peter). > > If it is made dynamic, could this be opening a race condition where the > call to sysctlbyname() returns a count of CPUS that is in turn changed > by the offlining of a CPU? =C2=A0Or am I thinking to much about this? We still can't support CPU hotplugging so the easy answer is 'don't bother about variadic CPUs number'. I don't really know what libmemstat is willing to do with that macro (and I don't have time to look at it now) maybe you could shade a light about what's its usage? Does it really needs to know MAXCPUS or just wants a large enough value to fill anything? Thanks, Attilio --=20 Peace can only be achieved by understanding - A. Einstein
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTini=hUrGq3dMcksf45E1q8MPpdhnkhr-gA0sW5->