Re: MAXCPU preparations

From: Sean Bruno <seanbru_at_yahoo-inc.com>
Date: Tue, 28 Sep 2010 11:40:44 -0700
On Tue, 2010-09-28 at 13:29 -0500, John Baldwin wrote:
> On Tuesday, September 28, 2010 12:45:11 pm Sean Bruno wrote:
> > On Tue, 2010-09-28 at 02:48 -0500, Robert Watson wrote:
> > > On Mon, 27 Sep 2010, Joshua Neal wrote:
> > > 
> > > > I hit this bug at one point, and had to bump MEMSTAT_MAXCPU.  It's already 
> > > > asking the kernel for the max number and throwing an error if it doesn't 
> > > > agree:
> > > 
> > > Yes, it looks like MAXCPU was bumped in the kernel without bumping the limit 
> > > in libmemstat.  The bug could be in not having a comment by the definition of 
> > > MAXCPU saying that MEMSTAT_MAXCPU needs to be modified as well.
> > > 
> > > > I was thinking a more future-proof fix would be to get rid of the static 
> > > > allocations and allocate the library's internal structures based on the 
> > > > value of kern.smp.maxcpus.
> > > 
> > > Agreed.  I'm fairly preoccupied currently, but would be happy to accept 
> > > patches :-).
> > > 
> > > Robert
> > 
> > Working on a dynamic version today.  I'll spam it over to you for review
> > later.  
> > 
> > I'm moving the percpu struct definitions outside of struct memory_type,
> > allocating quantity kern.smp.maxcpus, removing the boundary checks based
> > on MEMSTAT_MAXCPU and then removing MEMSTAT_MAXCPU all together.
> 
> If you go fully dynamic you should use mp_maxid + 1 rather than maxcpus.
> 

I assume that mp_maxid is the new kern.smp.maxcpus?  Can you inject some
history here so I can understand why one is "better" than the other?

Sean
Received on Tue Sep 28 2010 - 16:41:16 UTC

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