pgsql: Use pg_pread() and pg_pwrite() for data files and WAL.

From: Thomas Munro <tmunro(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Use pg_pread() and pg_pwrite() for data files and WAL.
Date: 2018-11-06 21:01:53
Message-ID: E1gK8Tx-0001q3-3X@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Use pg_pread() and pg_pwrite() for data files and WAL.

Cut down on system calls by doing random I/O using offset-based OS
routines where available. Remove the code for tracking the 'virtual'
seek position. The only reason left to call FileSeek() was to get
the file's size, so provide a new function FileSize() instead.

Author: Oskari Saarenmaa, Thomas Munro
Reviewed-by: Thomas Munro, Jesper Pedersen, Tom Lane, Alvaro Herrera
Discussion: https://postgr.es/m/CAEepm=02rapCpPR3ZGF2vW=SBHSdFYO_bz_f-wwWJonmA3APgw@mail.gmail.com
Discussion: https://postgr.es/m/b8748d39-0b19-0514-a1b9-4e5a28e6a208%40gmail.com
Discussion: https://postgr.es/m/a86bd200-ebbe-d829-e3ca-0c4474b2fcb7%40ohmu.fi

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/c24dcd0cfd949bdf245814c4c2b3df828ee7db36

Modified Files
--------------
src/backend/access/heap/rewriteheap.c | 2 +-
src/backend/access/transam/xlog.c | 30 +----
src/backend/storage/file/buffile.c | 46 +-------
src/backend/storage/file/fd.c | 205 +++++-----------------------------
src/backend/storage/smgr/md.c | 35 +-----
src/include/storage/fd.h | 12 +-
6 files changed, 42 insertions(+), 288 deletions(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Andrew Gierth 2018-11-06 21:14:26 pgsql: Optimize nested ConvertRowtypeExpr nodes.
Previous Message Bruce Momjian 2018-11-06 18:40:17 pgsql: GUC: adjust effective_cache_size SQL descriptions