[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: MDB v2: Replace meta pages with "meta position" word

Howard Chu writes:
> Using variably positioned meta pages seems like something we would try to cut 
> down on seek overhead, but looking closer it doesn't appear that it can do that.

Could some commits choose where the next commit's MDB_meta should go?
Maybe peel a page off the freelist on behalf of the next commit.  Then
the current commit's MDB_meta includes a reference to that page and a
check bit which is equal to some bit in the chosen page's MDB_meta.
Instead of updating the file header, next commit toggles that bit
in its own MDB_meta to show that it is in use.

mdb_page_alloc() cannot reuse free pages younger than the current chain.
mdb_env_pick_meta() must walk this chain of forward references, so such
a chain should be short.