cvs commit: src/sys/fs/specfs spec_vnops.c

Jeff Roberson jroberson at chesapeake.net
Wed Aug 27 20:20:35 PDT 2003


On Wed, 27 Aug 2003, Marcel Moolenaar wrote:

> On Wed, Aug 27, 2003 at 10:55:13PM -0400, Jeff Roberson wrote:
> > On Wed, 27 Aug 2003, Marcel Moolenaar wrote:
> >
> > > marcel      2003/08/27 18:52:14 PDT
> > >
> > >   FreeBSD src repository
> > >
> > >   Modified files:
> > >     sys/fs/specfs        spec_vnops.c
> > >   Log:
> > >   The valid field in struct vm_page can be of type unsigned long when
> > >   32K pages are selected. In spec_getpages() change the printf format
> > >   specifier and add an explicit cast so that we always print the field
> > >   as a long type.
> > >
> > >   Revision  Changes    Path
> > >   1.209     +2 -2      src/sys/fs/specfs/spec_vnops.c
> >
> > Are you aware of the UMA problems with 32k pages?
>
> No, what are the problems?
>

It uses an 8 bit index to identify individual items in a slab.  This is to
save space in place of the full pointer that is used in traditional slab
allocators.  With an 8 bit index your smallest allocation on 4k pages is
16 bytes and 32 bytes on 8k.  It'd be 128 bytes on 32k.  You're going to
have to conditionally compile UMA with 16bit indexes.

Cheers,
Jeff



More information about the cvs-src mailing list