On Monday, April 08, 2013 3:44:36 pm Gleb Smirnoff wrote:
> On Mon, Apr 08, 2013 at 03:41:27PM -0400, John Baldwin wrote:
> J> On Monday, April 08, 2013 3:19:10 pm Gleb Smirnoff wrote:
> J> > Author: glebius
> J> > Date: Mon Apr  8 19:19:10 2013
> J> > New Revision: 249265
> J> > URL: http://svnweb.freebsd.org/changeset/base/249265
> J> > 
> J> > Log:
> J> >   Merge from projects/counters:
> J> >   
> J> >     Pad struct pcpu so that its size is denominator of PAGE_SIZE. This
> J> >   is done to reduce memory waste in UMA_PCPU_ZONE zones.
> J> >   
> J> >   Sponsored by:  Nginx, Inc.
> J> > 
> J> > Modified: head/sys/sys/pcpu.h
> J> > 
> J> 
> ==============================================================================
> J> > --- head/sys/sys/pcpu.h  Mon Apr  8 19:10:45 2013        (r249264)
> J> > +++ head/sys/sys/pcpu.h  Mon Apr  8 19:19:10 2013        (r249265)
> J> > @@ -180,6 +180,14 @@ struct pcpu {
> J> >          PCPU_MD_FIELDS;
> J> >  } __aligned(CACHE_LINE_SIZE);
> J> 
> J> Why not change this to be PAGE_SIZE rather than putting explicit padding 
> in 
> J> all the pcpu fields?  That would seem to be more maintainable.
> 
> Because it can be smaller than PAGE_SIZE. Two times smaller, four times 
> smaller.

Ugh, I didn't parse the "denominator" part correctly.  I had read it as
"multiple".  OTOH, it seems quite cheap even on a 32-bit platform to lose
3k per core (assuming 4k page size and 1k pcpu).

-- 
John Baldwin
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to