Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Aug 2003 23:20:31 -0400 (EDT)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        Marcel Moolenaar <marcel@xcllnt.net>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/fs/specfs spec_vnops.c
Message-ID:  <20030827231807.I12093-100000@mail.chesapeake.net>
In-Reply-To: <20030828031421.GA7763@athlon.pn.xcllnt.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030827231807.I12093-100000>