Обсуждение: pgsql-server/src backend/access/heap/heapam.c ...

Поиск
Список
Период
Сортировка

pgsql-server/src backend/access/heap/heapam.c ...

От
tgl@svr1.postgresql.org (Tom Lane)
Дата:
CVSROOT:    /cvsroot
Module name:    pgsql-server
Changes by:    tgl@svr1.postgresql.org    04/04/21 15:24:27

Modified files:
    src/backend/access/heap: heapam.c
    src/backend/access/index: indexam.c
    src/backend/access/nbtree: nbtinsert.c nbtpage.c nbtree.c
                               nbtsearch.c
    src/backend/executor: nodeIndexscan.c nodeSeqscan.c
                          nodeTidscan.c
    src/include/access: heapam.h nbtree.h

Log message:
    Tweak indexscan and seqscan code to arrange that steps from one page to
    the next are handled by ReleaseAndReadBuffer rather than separate
    ReleaseBuffer and ReadBuffer calls.  This cuts the number of acquisitions
    of the BufMgrLock by a factor of 2 (possibly more, if an indexscan happens
    to pull successive rows from the same heap page).  Unfortunately this
    doesn't seem enough to get us out of the recently discussed context-switch
    storm problem, but it's surely worth doing anyway.