Messages in this thread | | | Date | Tue, 16 Jan 2007 12:06:50 -0800 | From | "Paul Menage" <> | Subject | Re: [RFC 8/8] Reduce inode memory usage for systems with a high MAX_NUMNODES |
| |
On 1/16/07, Christoph Lameter <clameter@sgi.com> wrote: > On Tue, 16 Jan 2007, Paul Menage wrote: > > > On 1/15/07, Christoph Lameter <clameter@sgi.com> wrote: > > > > > > This solution may be a bit hokey. I tried other approaches but this > > > one seemed to be the simplest with the least complications. Maybe someone > > > else can come up with a better solution? > > > > How about a 64-bit field in struct inode that's used as a bitmask if > > there are no more than 64 nodes, and a pointer to a bitmask if there > > are more than 64 nodes. The filesystems wouldn't need to be involved > > then, as the bitmap allocation could be done in the generic code. > > How would we decide if there are more than 64 nodes? Runtime or compile > time?
I was thinking runtime, unless MAX_NUMNODES is less than 64 in which case you can make the decision at compile time.
> > If done at compile time then we will end up with a pointer to an unsigned > long for a system with <= 64 nodes. If we allocate the nodemask via > kmalloc then we will always end up with a mininum allocation size of 64 > bytes.
Can't we get less overhead with a slab cache with appropriate-sized objects?
Paul - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |