Thread: pgsql: Implement prefetching via posix_fadvise() for bitmap index scans.

pgsql: Implement prefetching via posix_fadvise() for bitmap index scans.

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Implement prefetching via posix_fadvise() for bitmap index scans.  A new
GUC variable effective_io_concurrency controls how many concurrent block
prefetch requests will be issued.

(The best way to handle this for plain index scans is still under debate,
so that part is not applied yet --- tgl)

Greg Stark

Modified Files:
--------------
    pgsql/doc/src/sgml:
        config.sgml (r1.204 -> r1.205)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/config.sgml?r1=1.204&r2=1.205)
    pgsql/src/backend/executor:
        nodeBitmapHeapscan.c (r1.32 -> r1.33)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeBitmapHeapscan.c?r1=1.32&r2=1.33)
    pgsql/src/backend/storage/buffer:
        bufmgr.c (r1.244 -> r1.245)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/buffer/bufmgr.c?r1=1.244&r2=1.245)
        localbuf.c (r1.85 -> r1.86)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/buffer/localbuf.c?r1=1.85&r2=1.86)
    pgsql/src/backend/storage/file:
        fd.c (r1.146 -> r1.147)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/file/fd.c?r1=1.146&r2=1.147)
    pgsql/src/backend/storage/smgr:
        md.c (r1.143 -> r1.144)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/smgr/md.c?r1=1.143&r2=1.144)
        smgr.c (r1.115 -> r1.116)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/smgr/smgr.c?r1=1.115&r2=1.116)
    pgsql/src/backend/utils/misc:
        guc.c (r1.492 -> r1.493)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/guc.c?r1=1.492&r2=1.493)
        postgresql.conf.sample (r1.251 -> r1.252)

(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/postgresql.conf.sample?r1=1.251&r2=1.252)
    pgsql/src/include/nodes:
        execnodes.h (r1.200 -> r1.201)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h?r1=1.200&r2=1.201)
    pgsql/src/include:
        pg_config_manual.h (r1.36 -> r1.37)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/pg_config_manual.h?r1=1.36&r2=1.37)
    pgsql/src/include/storage:
        buf_internals.h (r1.100 -> r1.101)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/buf_internals.h?r1=1.100&r2=1.101)
        bufmgr.h (r1.119 -> r1.120)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/bufmgr.h?r1=1.119&r2=1.120)
        fd.h (r1.63 -> r1.64)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/fd.h?r1=1.63&r2=1.64)
        smgr.h (r1.65 -> r1.66)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/smgr.h?r1=1.65&r2=1.66)