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>