[pgpool-committers: 5494] pgpool: Eliminate select(2) system calls when they are not necessary.

Tatsuo Ishii ishii at sraoss.co.jp
Fri Feb 22 11:08:39 JST 2019

Eliminate select(2) system calls when they are not necessary.

The idea is checking select(2) timeout parameter set in a static
variable in pool_read() and pool_read2(). If it's -1, it means no
select timeout will be set in pool_check_fd(), which implies we can
avoid to call pool_check_fd().

Also I moved pool_check_fd() and friends to pool_stream.c from a
modularity point of view.

This gives slight performance improvement according to Jesper

Bottleneck analysis and suggestions from Jesper Pedersen.
Discussion: [pgpool-hackers: 3247] https://www.pgpool.net/pipermail/pgpool-hackers/2019-February/003247.html



Modified Files
src/include/pool.h                |   6 +-
src/include/utils/pool_stream.h   |   6 +-
src/protocol/pool_process_query.c |  94 +------------------------------
src/utils/pool_stream.c           | 115 +++++++++++++++++++++++++++++++++++++-
4 files changed, 119 insertions(+), 102 deletions(-)

More information about the pgpool-committers mailing list