pgsql: Convert the arithmetic for shared memory size calculation from

From: tgl(at)svr1(dot)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Convert the arithmetic for shared memory size calculation from
Date: 2005-08-20 23:26:38
Message-ID: 20050820232638.8164752906@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Convert the arithmetic for shared memory size calculation from 'int'
to 'Size' (that is, size_t), and install overflow detection checks in it.
This allows us to remove the former arbitrary restrictions on NBuffers
etc. It won't make any difference in a 32-bit machine, but in a 64-bit
machine you could theoretically have terabytes of shared buffers.
(How efficiently we could manage 'em remains to be seen.) Similarly,
num_temp_buffers, work_mem, and maintenance_work_mem can be set above
2Gb on a 64-bit machine. Original patch from Koichi Suzuki, additional
work by moi.

Modified Files:
--------------
pgsql:
configure (r1.446 -> r1.447)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/configure.diff?r1=1.446&r2=1.447)
configure.in (r1.419 -> r1.420)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/configure.in.diff?r1=1.419&r2=1.420)
pgsql/src/backend/access/transam:
clog.c (r1.31 -> r1.32)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/clog.c.diff?r1=1.31&r2=1.32)
multixact.c (r1.7 -> r1.8)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/multixact.c.diff?r1=1.7&r2=1.8)
slru.c (r1.26 -> r1.27)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/slru.c.diff?r1=1.26&r2=1.27)
subtrans.c (r1.9 -> r1.10)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/subtrans.c.diff?r1=1.9&r2=1.10)
twophase.c (r1.9 -> r1.10)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/twophase.c.diff?r1=1.9&r2=1.10)
xlog.c (r1.215 -> r1.216)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c.diff?r1=1.215&r2=1.216)
pgsql/src/backend/commands:
vacuumlazy.c (r1.56 -> r1.57)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/vacuumlazy.c.diff?r1=1.56&r2=1.57)
pgsql/src/backend/port:
sysv_shmem.c (r1.42 -> r1.43)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/port/sysv_shmem.c.diff?r1=1.42&r2=1.43)
pgsql/src/backend/postmaster:
bgwriter.c (r1.18 -> r1.19)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/bgwriter.c.diff?r1=1.18&r2=1.19)
postmaster.c (r1.466 -> r1.467)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/postmaster.c.diff?r1=1.466&r2=1.467)
pgsql/src/backend/storage/buffer:
buf_init.c (r1.75 -> r1.76)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/buffer/buf_init.c.diff?r1=1.75&r2=1.76)
buf_table.c (r1.41 -> r1.42)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/buffer/buf_table.c.diff?r1=1.41&r2=1.42)
freelist.c (r1.51 -> r1.52)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/buffer/freelist.c.diff?r1=1.51&r2=1.52)
localbuf.c (r1.68 -> r1.69)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/buffer/localbuf.c.diff?r1=1.68&r2=1.69)
pgsql/src/backend/storage/freespace:
freespace.c (r1.47 -> r1.48)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/freespace/freespace.c.diff?r1=1.47&r2=1.48)
pgsql/src/backend/storage/ipc:
ipci.c (r1.77 -> r1.78)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/ipci.c.diff?r1=1.77&r2=1.78)
pmsignal.c (r1.18 -> r1.19)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/pmsignal.c.diff?r1=1.18&r2=1.19)
procarray.c (r1.5 -> r1.6)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/procarray.c.diff?r1=1.5&r2=1.6)
shmem.c (r1.84 -> r1.85)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/shmem.c.diff?r1=1.84&r2=1.85)
sinval.c (r1.76 -> r1.77)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/sinval.c.diff?r1=1.76&r2=1.77)
sinvaladt.c (r1.59 -> r1.60)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/sinvaladt.c.diff?r1=1.59&r2=1.60)
pgsql/src/backend/storage/lmgr:
lock.c (r1.156 -> r1.157)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/lock.c.diff?r1=1.156&r2=1.157)
lwlock.c (r1.28 -> r1.29)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/lwlock.c.diff?r1=1.28&r2=1.29)
proc.c (r1.162 -> r1.163)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/proc.c.diff?r1=1.162&r2=1.163)
pgsql/src/backend/utils/hash:
dynahash.c (r1.63 -> r1.64)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/hash/dynahash.c.diff?r1=1.63&r2=1.64)
pgsql/src/backend/utils/misc:
guc.c (r1.283 -> r1.284)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/guc.c.diff?r1=1.283&r2=1.284)
postgresql.conf.sample (r1.158 -> r1.159)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/postgresql.conf.sample.diff?r1=1.158&r2=1.159)
pgsql/src/include/access:
clog.h (r1.13 -> r1.14)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/clog.h.diff?r1=1.13&r2=1.14)
multixact.h (r1.5 -> r1.6)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/multixact.h.diff?r1=1.5&r2=1.6)
slru.h (r1.12 -> r1.13)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/slru.h.diff?r1=1.12&r2=1.13)
subtrans.h (r1.6 -> r1.7)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/subtrans.h.diff?r1=1.6&r2=1.7)
twophase.h (r1.4 -> r1.5)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/twophase.h.diff?r1=1.4&r2=1.5)
xlog.h (r1.67 -> r1.68)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog.h.diff?r1=1.67&r2=1.68)
pgsql/src/include:
pg_config.h.in (r1.86 -> r1.87)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/pg_config.h.in.diff?r1=1.86&r2=1.87)
pgsql/src/include/postmaster:
bgwriter.h (r1.6 -> r1.7)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/postmaster/bgwriter.h.diff?r1=1.6&r2=1.7)
postmaster.h (r1.10 -> r1.11)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/postmaster/postmaster.h.diff?r1=1.10&r2=1.11)
pgsql/src/include/storage:
buf_internals.h (r1.78 -> r1.79)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/buf_internals.h.diff?r1=1.78&r2=1.79)
bufmgr.h (r1.95 -> r1.96)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/bufmgr.h.diff?r1=1.95&r2=1.96)
freespace.h (r1.17 -> r1.18)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/freespace.h.diff?r1=1.17&r2=1.18)
lock.h (r1.89 -> r1.90)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/lock.h.diff?r1=1.89&r2=1.90)
lwlock.h (r1.21 -> r1.22)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/lwlock.h.diff?r1=1.21&r2=1.22)
pg_shmem.h (r1.14 -> r1.15)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/pg_shmem.h.diff?r1=1.14&r2=1.15)
proc.h (r1.80 -> r1.81)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/proc.h.diff?r1=1.80&r2=1.81)
procarray.h (r1.4 -> r1.5)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/procarray.h.diff?r1=1.4&r2=1.5)
shmem.h (r1.44 -> r1.45)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/shmem.h.diff?r1=1.44&r2=1.45)
sinval.h (r1.41 -> r1.42)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/sinval.h.diff?r1=1.41&r2=1.42)
sinvaladt.h (r1.38 -> r1.39)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/sinvaladt.h.diff?r1=1.38&r2=1.39)
pgsql/src/include/utils:
hsearch.h (r1.39 -> r1.40)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/hsearch.h.diff?r1=1.39&r2=1.40)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2005-08-20 23:45:08 pgsql: Seems that the childXids list would be better based on Oid lists
Previous Message James William Pye 2005-08-20 23:19:30 python - pq: Add classifiers and fix copyright dates.