Re: Need help with phys backed shm segments (Postgresql+FreeBSD).

From: Randy Jonasz <rjonasz(at)click2net(dot)com>
To: Alfred Perlstein <bright(at)wintelcom(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Need help with phys backed shm segments (Postgresql+FreeBSD).
Date: 2000-12-05 21:36:25
Message-ID: Pine.BSF.4.30.0012051636140.32123-100000@nietzsche.jaded.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Just as interesting

On Tue, 5 Dec 2000, Alfred Perlstein wrote:

> * Alfred Perlstein <bright(at)wintelcom(dot)net> [001205 12:30] wrote:
> > * Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> [001205 08:37] wrote:
> > > BTW, I just remembered that in 7.0.*, the SLocks that are managed by
> > > SpinAcquire() all live in their own little shm segment. On a machine
> > > where slock_t is char, it'd likely only amount to 128 bytes or so.
> > > Maybe you are seeing some bug in FreeBSD's handling of tiny shm
> > > segments?
> >
> > Good call, i think I found it! :)
>
> Here's the patch I'm using on FreeBSD, it seems to work, if any
> other FreeBSD'ers want to try it out, just apply the patch:
> cd /usr/src/sys/vm ; patch < patchfile
>
> and recompile and boot with a new kernel, then do this:
>
> sysctl -w kern.ipc.shm_use_phys=1
>
> or add:
> kern.ipc.shm_use_phys=1
> to /etc/sysctl.conf
>
> Let me know if it works.
>
> thanks,
> -Alfred
>
> Index: phys_pager.c
> ===================================================================
> RCS file: /home/ncvs/src/sys/vm/phys_pager.c,v
> retrieving revision 1.3.2.1
> diff -u -u -r1.3.2.1 phys_pager.c
> --- phys_pager.c 2000/08/04 22:31:11 1.3.2.1
> +++ phys_pager.c 2000/12/05 20:13:25
> @@ -83,7 +83,7 @@
> * Allocate object and associate it with the pager.
> */
> object = vm_object_allocate(OBJT_PHYS,
> - OFF_TO_IDX(foff + size));
> + OFF_TO_IDX(foff + PAGE_MASK + size));
> object->handle = handle;
> TAILQ_INSERT_TAIL(&phys_pager_object_list, object,
> pager_object_list);
>
>

Randy Jonasz
Software Engineer
Click2net Inc.
Web: http://www.click2net.com
Phone: (905) 271-3550

"You cannot possibly pay a philosopher what he's worth,
but try your best" -- Aristotle

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Lamar Owen 2000-12-05 21:45:44 Re: beta testing version
Previous Message Mikheev, Vadim 2000-12-05 21:30:37 RE: beta testing version