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

next in thread | previous in thread | raw e-mail | index | archive | help
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:
>>> =A0 Bump MAXCPU for amd64, ia64 and XLP mips appropriately.
>>> =A0 From now on, default values for FreeBSD will be 64 maxiumum support=
ed
>>> =A0 CPUs on amd64 and ia64 and 128 for XLP. All the other architectures
>>> =A0 seem already capped appropriately (with the exception of sparc64 wh=
ich
>>> =A0 needs further support on jalapeno flavour).
>>>
>>> =A0 Bump __FreeBSD_version in order to reflect KBI/KPI brekage introduc=
ed
>>> =A0 during the infrastructure cleanup for supporting MAXCPU > 32. This
>>> =A0 covers cpumask_t retiral too.
>>>
>>> =A0 The switch is considered completed at the present time, so for what=
ever
>>> =A0 bug you may experience that is reconducible to that area, please re=
port
>>> =A0 immediately.
>>>
>>> =A0 Requested by: =A0 =A0 =A0 marcel, jchandra
>>> =A0 Tested by: =A0pluknet, sbruno
>>> =A0 Approved by: =A0 =A0 =A0 =A0re (kib)
>>>
>>> Modified:
>>> =A0 head/sys/amd64/include/param.h
>>> =A0 head/sys/ia64/include/param.h
>>> =A0 head/sys/mips/conf/XLP
>>> =A0 head/sys/mips/conf/XLP64
>>> =A0 head/sys/mips/conf/XLPN32
>>> =A0 head/sys/sys/param.h
>>>
>>> Modified: head/sys/amd64/include/param.h
>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
>>> --- head/sys/amd64/include/param.h =A0 =A0Tue Jul 19 12:41:57 2011 =A0 =
=A0 =A0 =A0(r224216)
>>> +++ head/sys/amd64/include/param.h =A0 =A0Tue Jul 19 13:00:30 2011 =A0 =
=A0 =A0 =A0(r224217)
>>> @@ -65,7 +65,7 @@
>>>
>>> =A0#if defined(SMP) || defined(KLD_MODULE)
>>> =A0#ifndef MAXCPU
>>> -#define MAXCPU =A0 =A0 =A0 =A0 =A0 =A0 =A0 32
>>> +#define MAXCPU =A0 =A0 =A0 =A0 =A0 =A0 =A0 64
>>> =A0#endif
>>> =A0#else
>>> =A0#define MAXCPU =A0 =A0 =A0 =A0 =A0 =A0 =A0 1
>>
>> Do you plan to bump MEMSTAT_MAXCPU, too?
>>
>> =A0$ vmstat -z
>> =A0vmstat: memstat_sysctl_uma: Too many CPUs
>> =A0$ vmstat -m
>> =A0vmstat: memstat_sysctl_malloc: Too many CPUs
>>
>> =A0$ sysctl kern. | grep smp.\*cpus
>> =A0kern.smp.maxcpus: 64
>> =A0kern.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.

--=20
wbr,
pluknet



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAE-mSOKyJmN=yqAa4bB_KdiO%2B0fPb5nMxRdM2WHS1aT1cfoD7g>