[PATCH] UBIFS: add crypto lookup field to tree node cache
Joel Reardon
joel at clambassador.com
Mon May 14 13:20:49 EDT 2012
The long long is divided as follows:
32 bits for the (KSA-relative) LEB number, 32 bits for the offset in the
leb where the key is found. So its the same as the lnum/offs for the
current one. Theres substancial compression though, that is available,
since theres likely not more than 2^^32 LEBS for the KSA and the number of
bits needed for key offset is LEB_SHIFT - 4.
Is 32 bits sufficient to address all keys:
one key per datanode means 4096 * 2^32 = 2^44, so only 16 TB available
for 32 bit key addresses.
Though there is similar waste for lnum/offs as well. Perhaps zbranches can
be stored as a u8[] and demarshalled with bit-op macros when needed for
computations.
Joel Reardon
On Mon, 14 May 2012, Artem Bityutskiy wrote:
> On Fri, 2012-05-11 at 13:24 +0200, Joel Reardon wrote:
> > struct ubifs_zbranch {
> > union ubifs_key key;
> > @@ -751,6 +752,7 @@ struct ubifs_zbranch {
> > int lnum;
> > int offs;
> > int len;
> > + long long crypto_lookup;
> > };
>
> Why is it "long long" which is 64 bit? What will it contain? Could we
> make it unsigned int - we'd waste less RAM then - remember that we
> allocate a lot of these structures.
>
> --
> Best Regards,
> Artem Bityutskiy
>
More information about the linux-mtd
mailing list