ISM shared memory on solaris

From: Josh Wilmes <jwilmes(at)cisco(dot)com>
To: pgsql-bugs(at)postgresql(dot)org, pgsql-patches(at)postgresql(dot)org
Cc: Nick Johnson <njohnson(at)cisco(dot)com>
Subject: ISM shared memory on solaris
Date: 2003-10-23 20:31:44
Message-ID: 3F983AAF.2060000@cisco.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-patches

I hope this is the right place to send this.. the FAQ in the
distribution mentions http://www.PostgreSQL.org/bugs/bugs.php, which
doesn't work.

We've found that postgresql wasn't using ISM shared memory on solaris,
which theoretically would cost performance. The root cause in our case
was that the "solaris" define is not defined by our compilers or by
postgresql itself.

The patch below simple has it check SHM_SHARE_MMU instead, which should
work fine. I verified (with 'pmap') that the database is now using ISM
on its shared memory, after this patch was applied.

--Josh

--- sysv_shmem.c.orig 2002-09-04 13:31:24.000000000 -0700
+++ sysv_shmem.c 2003-10-23 12:52:26.756765000 -0700
@@ -143,7 +143,7 @@
on_shmem_exit(IpcMemoryDelete, Int32GetDatum(shmid));

/* OK, should be able to attach to the segment */
-#if defined(solaris) && defined(__sparc__)
+#if defined(SHM_SHARE_MMU) && defined(__sparc__)
/* use intimate shared memory on SPARC Solaris */
memAddress = shmat(shmid, 0, SHM_SHARE_MMU);
#else
@@ -323,8 +323,8 @@
shmid = shmget(NextShmemSegID, sizeof(PGShmemHeader), 0);
if (shmid < 0)
continue; /* failed: must
be some other app's */
-
-#if defined(solaris) && defined(__sparc__)
+
+#if defined(SHM_SHARE_MMU) && defined(__sparc__)
/* use intimate shared memory on SPARC Solaris */
memAddress = shmat(shmid, 0, SHM_SHARE_MMU);
#else

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message j6m 2003-10-23 20:49:22 Re: currval and nextval in 7.3.4
Previous Message Richard Huxton 2003-10-23 19:25:14 Re: my postgreSQL 7.4 beta for windows

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2003-10-24 03:19:35 Re: two-phase commit
Previous Message Bruce Momjian 2003-10-23 17:36:33 Re: beta5 references beta4 in INSTALL