Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Jul 2011 09:20:09 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Sergey Kandaurov <pluknet@freebsd.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, Attilio Rao <attilio@freebsd.org>, Pan Tsu <inyaoo@gmail.com>, svn-src-head@freebsd.org, Sean Bruno <seanbru@yahoo-inc.com>
Subject:   Re: svn commit: r224217 - in head/sys: amd64/include ia64/include mips/conf sys
Message-ID:  <201107210920.09604.jhb@freebsd.org>
In-Reply-To: <CAE-mSOKyJmN=yqAa4bB_KdiO%2B0fPb5nMxRdM2WHS1aT1cfoD7g@mail.gmail.com>
References:  <201107191300.p6JD0UU7073447@svn.freebsd.org> <CAJ-FndB5m5%2BzxO=5eyKXBdzHiSPBDGoSPeXNTkp1fdB3EQZZ3A@mail.gmail.com> <CAE-mSOKyJmN=yqAa4bB_KdiO%2B0fPb5nMxRdM2WHS1aT1cfoD7g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, July 21, 2011 8:37:26 am Sergey Kandaurov wrote:
> On 21 July 2011 14:14, Attilio Rao <attilio@freebsd.org> wrote:
> > 2011/7/20 Pan Tsu <inyaoo@gmail.com>:
> >> Attilio Rao <attilio@FreeBSD.org> writes:
> >>
> >>> Author: attilio
> >>> Date: Tue Jul 19 13:00:30 2011
> >>> New Revision: 224217
> >>> URL: http://svn.freebsd.org/changeset/base/224217
> >>>
> >>> Log:
> >>>   Bump MAXCPU for amd64, ia64 and XLP mips appropriately.
> >>>   From now on, default values for FreeBSD will be 64 maxiumum supported
> >>>   CPUs on amd64 and ia64 and 128 for XLP. All the other architectures
> >>>   seem already capped appropriately (with the exception of sparc64 which
> >>>   needs further support on jalapeno flavour).
> >>>
> >>>   Bump __FreeBSD_version in order to reflect KBI/KPI brekage introduced
> >>>   during the infrastructure cleanup for supporting MAXCPU > 32. This
> >>>   covers cpumask_t retiral too.
> >>>
> >>>   The switch is considered completed at the present time, so for 
whatever
> >>>   bug you may experience that is reconducible to that area, please 
report
> >>>   immediately.
> >>>
> >>>   Requested by:       marcel, jchandra
> >>>   Tested by:  pluknet, sbruno
> >>>   Approved by:        re (kib)
> >>>
> >>> Modified:
> >>>   head/sys/amd64/include/param.h
> >>>   head/sys/ia64/include/param.h
> >>>   head/sys/mips/conf/XLP
> >>>   head/sys/mips/conf/XLP64
> >>>   head/sys/mips/conf/XLPN32
> >>>   head/sys/sys/param.h
> >>>
> >>> Modified: head/sys/amd64/include/param.h
> >>> 
==============================================================================
> >>> --- head/sys/amd64/include/param.h    Tue Jul 19 12:41:57 2011       
 (r224216)
> >>> +++ head/sys/amd64/include/param.h    Tue Jul 19 13:00:30 2011       
 (r224217)
> >>> @@ -65,7 +65,7 @@
> >>>
> >>>  #if defined(SMP) || defined(KLD_MODULE)
> >>>  #ifndef MAXCPU
> >>> -#define MAXCPU               32
> >>> +#define MAXCPU               64
> >>>  #endif
> >>>  #else
> >>>  #define MAXCPU               1
> >>
> >> Do you plan to bump MEMSTAT_MAXCPU, too?
> >>
> >>  $ vmstat -z
> >>  vmstat: memstat_sysctl_uma: Too many CPUs
> >>  $ vmstat -m
> >>  vmstat: memstat_sysctl_malloc: Too many CPUs
> >>
> >>  $ sysctl kern. | grep smp.\*cpus
> >>  kern.smp.maxcpus: 64
> >>  kern.smp.cpus: 2
> >>
> >
> > Jeeeez, we seriously need to fix this getting rid of the static values.
> >
> > Anyway, can you try the following patch?:
> > http://www.freebsd.org/~attilio/memstat_maxcpu.diff
> >
> > It is going to add some memory overhead for i386 case.
> >
> 
> Something like this should work (vmstat -z, vmstat -m both work).
> It gets rid of MEMSTAT_MAXCPU at the expense of malloc() at runtime.
> http://plukky.net/~pluknet/patches/libmemstat_nomaxcpu.diff
> 
> Probably it should work with maxid, instead of maxcpu to save some memory.
> Though, using maxcpu is more safe.

Actually, I would prefer that it use mp_maxid as that is the general variable
things should use.  mp_maxcpus is a concession for the few places that may 
need to know the MAXCPUS value (e.g. if using libkvm to access a structure in 
a crashdump or live kernel that has a member array with MAXCPU elements).  
Code that just wants to allocate memory to hold per-CPU data should use 
mp_maxid whenever possible.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107210920.09604.jhb>