Re: 8.4 Performance improvements: was Re: Proposal of tunable fix for scalability of 8.4 - Mailing list pgsql-performance
From | Bruce Momjian |
---|---|
Subject | Re: 8.4 Performance improvements: was Re: Proposal of tunable fix for scalability of 8.4 |
Date | |
Msg-id | 200904022308.n32N8oF06653@momjian.us Whole thread Raw |
In response to | Re: 8.4 Performance improvements: was Re: Proposal of tunable fix for scalability of 8.4 (Tom Lane <tgl@sss.pgh.pa.us>) |
Responses |
Re: 8.4 Performance improvements: was Re: Proposal
of tunable fix for scalability of 8.4
|
List | pgsql-performance |
Tom Lane wrote: > Gregory Stark <stark@enterprisedb.com> writes: > > Tom Lane <tgl@sss.pgh.pa.us> writes: > >> Ugh. So apparently, we actually need to special-case Solaris to not > >> believe that posix_fadvise works, or we'll waste cycles uselessly > >> calling a do-nothing function. Thanks, Sun. > > > Do we? Or do we just document that setting effective_cache_size on Solaris > > won't help? > > I assume you meant effective_io_concurrency. We'd still need a special > case because the default is currently hard-wired at 1, not 0, if > configure thinks the function exists. Also there's a posix_fadvise call > in xlog.c that that parameter doesn't control anyhow. The attached patch prevents the posix_fadvise() probe in configure on Solaris, and adds a comment why. I have already documented why Solaris can't do effective_io_concurrency. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. + Index: configure.in =================================================================== RCS file: /cvsroot/pgsql/configure.in,v retrieving revision 1.592 diff -c -c -r1.592 configure.in *** configure.in 27 Mar 2009 19:58:11 -0000 1.592 --- configure.in 2 Apr 2009 21:23:36 -0000 *************** *** 1141,1150 **** AC_FUNC_ACCEPT_ARGTYPES PGAC_FUNC_GETTIMEOFDAY_1ARG ! AC_CHECK_FUNCS([cbrt dlopen fcvt fdatasync getpeereid getpeerucred getrlimit memmove poll posix_fadvise pstat readlinksetproctitle setsid sigprocmask symlink sysconf towlower utime utimes waitpid wcstombs]) ! AC_CHECK_DECLS(fdatasync, [], [], [#include <unistd.h>]) AC_CHECK_DECLS(posix_fadvise, [], [], [#include <fcntl.h>]) AC_CHECK_DECLS([strlcat, strlcpy]) # This is probably only present on Darwin, but may as well check always AC_CHECK_DECLS(F_FULLFSYNC, [], [], [#include <fcntl.h>]) --- 1141,1157 ---- AC_FUNC_ACCEPT_ARGTYPES PGAC_FUNC_GETTIMEOFDAY_1ARG ! AC_CHECK_FUNCS([cbrt dlopen fcvt fdatasync getpeereid getpeerucred getrlimit memmove poll pstat readlink setproctitle setsidsigprocmask symlink sysconf towlower utime utimes waitpid wcstombs]) ! # posix_fadvise() is a no-op on Solaris, so don't incur function overhead ! # by calling it, 2009-04-02 ! # http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/port/gen/posix_fadvise.c ! if test "$PORTNAME" != "solaris"; then ! AC_CHECK_FUNCS(posix_fadvise); AC_CHECK_DECLS(posix_fadvise, [], [], [#include <fcntl.h>]) + fi + + AC_CHECK_DECLS(fdatasync, [], [], [#include <unistd.h>]) AC_CHECK_DECLS([strlcat, strlcpy]) # This is probably only present on Darwin, but may as well check always AC_CHECK_DECLS(F_FULLFSYNC, [], [], [#include <fcntl.h>])
pgsql-performance by date: