Re: How much do the hint bits help?

Mark Kirkwood <mark.kirkwood@catalyst.net.nz>

From: Mark Kirkwood <mark.kirkwood@catalyst.net.nz>
To: pgsql-hackers@postgresql.org
Date: 2010-12-22T00:06:37Z
Lists: pgsql-hackers
On 22/12/10 13:05, Mark Kirkwood wrote:
> On 22/12/10 11:42, Merlin Moncure wrote:
>> Attached is an incomplete patch disabling hint bits based on compile
>> switch.  It's not complete, for example it's not reconciling some
>> assumptions in heapam.c that hint bits have been set in various
>> routines.  However, it mostly passes regression and I deemed it good
>> enough to run some preliminary benchmarks and fool around.  Obviously,
>> hint bits are an annoying impediment to a couple of other cool pending
>> features, and it certainly would be nice to operate without them.
>> Also, for particular workloads, the extra i/o hint bits can cause a
>> fair amount of pain.
>
> Looks like a great idea to test, however I don't seem to be able to 
> compile with it applied: (set#define DISABLE_HINT_BITS 1 at the end of 
> src/include/pg_config_manual.h)
>
> gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith 
> -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing 
> -fwrapv -g -I../../../../src/include -D_GNU_SOURCE -c -o heapam.o 
> heapam.c
> heapam.c: In function ‘HeapTupleHeaderAdvanceLatestRemovedXid’:
> heapam.c:3867: error: ‘HEAP_XMIN_COMMITTED’ undeclared (first use in 
> this function)
> heapam.c:3867: error: (Each undeclared identifier is reported only once
> heapam.c:3867: error: for each function it appears in.)
> heapam.c:3869: error: ‘HEAP_XMIN_INVALID’ undeclared (first use in 
> this function)
> make[4]: *** [heapam.o] Error 1
>

Arrg, sorry - against git head on Ubuntu 10.03 (gcc 4.4.3)