From 96112ee7c60557bb192a9aa07b514db2400fd45e Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun, 10 Jul 2016 12:44:20 -0400
Subject: [PATCH] Revert "Add some temporary code to record stack usage at
 server process exit."

This reverts commit 88cf37d2a86d5b66380003d7c3384530e3f91e40 as well
as follow-on commits ea9c4a16d5ad88a1d28d43ef458e3209b53eb106 and
c57562725d219c4249b82f4a4fb5aaeee3ae0d53.  We've learned about as much
as we can from the buildfarm.
---
 src/backend/storage/ipc/ipc.c | 73 -----------------------------------
 src/backend/tcop/postgres.c   | 12 ------
 2 files changed, 85 deletions(-)

diff --git a/src/backend/storage/ipc/ipc.c b/src/backend/storage/ipc/ipc.c
index 9dda93f0bd6..cc36b80699b 100644
--- a/src/backend/storage/ipc/ipc.c
+++ b/src/backend/storage/ipc/ipc.c
@@ -22,10 +22,6 @@
 #include <signal.h>
 #include <unistd.h>
 #include <sys/stat.h>
-#if defined(__hpux)
-#include <sys/param.h>
-#include <sys/pstat.h>
-#endif
 
 #include "miscadmin.h"
 #ifdef PROFILE_PID_DIR
@@ -35,9 +31,6 @@
 #include "storage/ipc.h"
 #include "tcop/tcopprot.h"
 
-extern long max_measured_stack_depth;
-extern long max_measured_register_stack_depth;
-
 
 /*
  * This flag is set during proc_exit() to change ereport()'s behavior,
@@ -87,69 +80,6 @@ static int	on_proc_exit_index,
 			before_shmem_exit_index;
 
 
-/* Report process's stack consumption to stderr */
-static void
-report_stack_size(void)
-{
-#if defined(__hpux)
-	/* HPUX: examine process's memory map with pstat_getprocvm() */
-	int			targetpid = getpid();
-	int			ndx;
-
-	for (ndx = 0;; ndx++)
-	{
-		struct pst_vm_status buf;
-		const char *pagetype;
-		int			res;
-
-		res = pstat_getprocvm(&buf, sizeof(buf), targetpid, ndx);
-		if (res < 0)
-		{
-			perror("getprocvm");
-			break;
-		}
-		if (res != 1)
-			break;
-		switch (buf.pst_type)
-		{
-			case PS_STACK:
-				pagetype = "STACK";
-				break;
-#ifdef PS_RSESTACK
-			case PS_RSESTACK:
-				pagetype = "REGSTACK";
-				break;
-#endif
-			default:
-				continue;
-		}
-		fprintf(stderr, "%d: stack addr 0x%lx, length %ld, physical pages %ld, type %s\n",
-				targetpid,
-				buf.pst_vaddr,
-				buf.pst_length,
-				buf.pst_phys_pages,
-				pagetype);
-	}
-#else							/* non HPUX */
-	/* Otherwise: try to use pmap.  No error if that doesn't work. */
-	char		sysbuf[128];
-
-	snprintf(sysbuf, sizeof(sysbuf), "pmap -x %d | grep -i stack 1>&2",
-			 (int) getpid());
-	(void) system(sysbuf);
-#endif
-
-#if defined(__ia64__) || defined(__ia64)
-	fprintf(stderr, "max measured stack depths %ldkB, %ldkB\n",
-			(max_measured_stack_depth + 1023) / 1024,
-			(max_measured_register_stack_depth + 1023) / 1024);
-#else
-	fprintf(stderr, "max measured stack depth %ldkB\n",
-			(max_measured_stack_depth + 1023) / 1024);
-#endif
-}
-
-
 /* ----------------------------------------------------------------
  *		proc_exit
  *
@@ -171,9 +101,6 @@ proc_exit(int code)
 	/* Clean up everything that must be cleaned up */
 	proc_exit_prepare(code);
 
-	/* report stack size to stderr */
-	report_stack_size();
-
 #ifdef PROFILE_PID_DIR
 	{
 		/*
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 38cabf650a1..b185c1b5eb6 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -96,9 +96,6 @@ int			max_stack_depth = 100;
 /* wait N seconds to allow attach from a debugger */
 int			PostAuthDelay = 0;
 
-/* Exported for use by proc_exit */
-long		max_measured_stack_depth = 0;
-long		max_measured_register_stack_depth = 0;
 
 
 /* ----------------
@@ -3140,11 +3137,6 @@ stack_is_too_deep(void)
 	if (stack_depth < 0)
 		stack_depth = -stack_depth;
 
-	/* Track max measured depth for reporting by proc_exit */
-	if (stack_depth > max_measured_stack_depth &&
-		stack_base_ptr != NULL)
-		max_measured_stack_depth = stack_depth;
-
 	/*
 	 * Trouble?
 	 *
@@ -3168,10 +3160,6 @@ stack_is_too_deep(void)
 #if defined(__ia64__) || defined(__ia64)
 	stack_depth = (long) (ia64_get_bsp() - register_stack_base_ptr);
 
-	if (stack_depth > max_measured_register_stack_depth &&
-		register_stack_base_ptr != NULL)
-		max_measured_register_stack_depth = stack_depth;
-
 	if (stack_depth > max_stack_depth_bytes &&
 		register_stack_base_ptr != NULL)
 		return true;
-- 
GitLab