Re: MAXCPU preparations

From: Attilio Rao <attilio_at_freebsd.org>
Date: Mon, 27 Sep 2010 19:41:09 +0200
2010/9/27 Sean Bruno <seanbru_at_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
>> >
>> >
>> > ==== //depot/yahoo/ybsd_7/src/lib/libmemstat/memstat.h#4
>> > - /home/seanbru/ybsd_7/src/lib/libmemstat/memstat.h ====
>> > _at__at_ -28,12 +28,13 _at__at_
>> >
>> >   #ifndef _MEMSTAT_H_
>> >   #define        _MEMSTAT_H_
>> > +#include<sys/param.h>
>> >
>> >   /*
>> >    * Number of CPU slots in library-internal data structures.  This
>> > should be
>> >    * at least the value of MAXCPU from param.h.
>> >    */
>> > -#define        MEMSTAT_MAXCPU  64
>> > +#define        MEMSTAT_MAXCPU  MAXCPU /* defined 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?  Or 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


-- 
Peace can only be achieved by understanding - A. Einstein
Received on Mon Sep 27 2010 - 15:41:11 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:07 UTC