Improve comments about USE_VALGRIND in pg_config_manual.h.

These comments left the impression that USE_VALGRIND isn't really
essential for valgrind testing.  But that's wrong, as I learned
the hard way today.

Discussion: https://postgr.es/m/512778.1620588546@sss.pgh.pa.us
This commit is contained in:
Tom Lane 2021-05-09 19:33:24 -04:00
parent 92c4c269d2
commit 8dc3d68cbe
1 changed files with 7 additions and 1 deletions

View File

@ -279,12 +279,18 @@
* enables detection of buffer accesses that take place without holding a
* buffer pin (or without holding a buffer lock in the case of index access
* methods that superimpose their own custom client requests on top of the
* generic bufmgr.c requests). See also src/tools/valgrind.supp.
* generic bufmgr.c requests).
*
* "make installcheck" is significantly slower under Valgrind. The client
* requests fall in hot code paths, so USE_VALGRIND slows execution by a few
* percentage points even when not run under Valgrind.
*
* Do not try to test the server under Valgrind without having built the
* server with USE_VALGRIND; else you will get false positives from sinval
* messaging (see comments in AddCatcacheInvalidationMessage). It's also
* important to use the suppression file src/tools/valgrind.supp to
* exclude other known false positives.
*
* You should normally use MEMORY_CONTEXT_CHECKING with USE_VALGRIND;
* instrumentation of repalloc() is inferior without it.
*/