[Date Prev][Date Next]
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.