ISM shared memory on solaris

Поиск
Список
Период
Сортировка
От Josh Wilmes
Тема ISM shared memory on solaris
Дата
Msg-id 3F983AAF.2060000@cisco.com
обсуждение исходный текст
Ответы Re: ISM shared memory on solaris  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-bugs
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



В списке pgsql-bugs по дате отправления:

Предыдущее
От: Stephan Szabo
Дата:
Сообщение: Re: currval and nextval in 7.3.4
Следующее
От: j6m@adm.estp.fr
Дата:
Сообщение: Re: currval and nextval in 7.3.4