Date: Sat, 11 Oct 2008 16:00:09 GMT From: Gunther Schadow <gunther@aurora.regenstrief.org> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/77353: [patch] grow SysV IPC kernel limits Message-ID: <200810111600.m9BG09C0032542@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/77353; it has been noted by GNATS. From: Gunther Schadow <gunther@aurora.regenstrief.org> To: bug-followup@FreeBSD.org, rmh@debian.org Cc: Subject: Re: kern/77353: [patch] grow SysV IPC kernel limits Date: Sat, 11 Oct 2008 11:43:45 -0400 I have tried the patch on uname = 7.0-RELEASE-p5. It allows me to start PostgreSQL with 16 GB shared_buffer on a 32 GB system. There is no longer an error nor a segmentation violation. However, I cannot get ipcs to work it fails with this error when tryting to generate the shm list: ipcs: sysctlbyname: kern.ipc.shmsegs: Cannot allocate memory yet, I can still do: sysctl -a kern.ipc.shmsegs it just never shows anything (but neither does so in unpatched 6.2 or 7.0 release, so I assume that's normal). Had no time to check, but would think that perhaps sysctlbyname also needs to be recompiled and for that one would have to redo all of libc. On the good side, PostgreSQL does not seem to rely on this ipcs type listing feature. Here is an easy program that tests the shm allocation *and* use: #include <machine/param.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { size_t size = strtoul(argv[1],NULL,10); key_t key = atol(argv[2]); int shm; char *mem; int i; printf("Start: %lu, %lu\n", size, key); shm = shmget(key, size, IPC_CREAT|SHM_R|SHM_W); printf("Result: %d\n", shm); mem = shmat(shm, 0, 0); printf("Attached: %p\n", mem); for(i=0; i<size; i++) mem[i] = 0; printf("Done!\n"); shmdt(mem); shmctl(shm, IPC_RMID, NULL); return 0; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810111600.m9BG09C0032542>