[patch 10/15] fs/logfs/memtree.c
Jörn Engel
joern at logfs.org
Fri Apr 11 06:37:57 EDT 2008
On Thu, 10 April 2008 16:07:44 +0200, Arnd Bergmann wrote:
> On Tuesday 01 April 2008, joern at logfs.org wrote:
> > +#if BITS_PER_LONG == 32
> > +#define BTREE_NODES 20 /* 32bit, 240 byte nodes */
> > +#else
> > +#define BTREE_NODES 16 /* 64bit, 256 byte nodes */
> > +#endif
> > +
> > +struct btree_node {
> > + u64 key;
> > + struct btree_node *node;
> > +};
>
> On 32 bit platforms other than x86, your struct btree_node
> is 16 bytes long because of alignment requirements, rather
> than the 12 bytes you are assuming.
Indeed. Will change the definition.
Long-term I'd like to generalize the btree a bit and allow three key
variants: long, u64 and u8[]. Some people want to stuff a
(u64, u64, u8) tupel into a btree. For those it seems ideal to just
treat the key as an array and do memcmp() for comparison.
Jörn
--
You can't tell where a program is going to spend its time. Bottlenecks
occur in surprising places, so don't try to second guess and put in a
speed hack until you've proven that's where the bottleneck is.
-- Rob Pike
More information about the linux-mtd
mailing list