Re: New FSM allocation policy - Mailing list pgsql-hackers

From Gregory Stark
Subject Re: New FSM allocation policy
Date
Msg-id 871w082muj.fsf@oxford.xeocode.com
Whole thread Raw
In response to New FSM allocation policy  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Responses Re: New FSM allocation policy  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:

> Fortunately there's an easy fix for that. If we optimize
> RecordAndGetPageWithFreeSpace so that it will always return the next page if it
> has enough space, we'll be doing sequential I/O again. That's trivial as long
> as the next heap page is on the same FSM page, and probably not too hard even
> if it's not. If we limit this optimization to within the same FSM page, we'll
> effectively be filling fully a 32MB stripes

Starting from an arbitrary block that would be on average a 16MB stripe. 

One idea, we could scan the rest of the current page and use the first match.

Another, given the way your tree structure works you can also descend the tree
with a "target" page. You can find the first page with enough free space after
the target page if there are any. (Take left branch if it's > target and has
enough free space else take right branch if there's enough free space else
take left branch).

--  Gregory Stark EnterpriseDB          http://www.enterprisedb.com Ask me about EnterpriseDB's On-Demand Production
Tuning


pgsql-hackers by date:

Previous
From: Cédric Villemain
Date:
Subject: Re: Proposal: new border setting in psql
Next
From: "Asko Oja"
Date:
Subject: Re: Proposal: new border setting in psql