Re: BUG #2406: Not all systems support SHM_SHARE_MMU

From: Paul van der Zwan <Paul(dot)Vanderzwan(at)Sun(dot)COM>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #2406: Not all systems support SHM_SHARE_MMU
Date: 2006-04-25 07:31:46
Message-ID: 6FEB09EB-03D6-48A9-9580-541753F88E8C@Sun.COM
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


On 25-apr-2006, at 9:08, Tom Lane wrote:

> Paul van der Zwan <Paul(dot)Vanderzwan(at)Sun(dot)COM> writes:
>> Maybe noone ever ran Postgres on Solaris on a VIA Epia system.
>
> Maybe. What is a "VIA Epia system"?
>

VIA is a hardware manufacturer who make small, low power boards with
their own X86 compatible cpu
on it, you can find more about it on : http://www.via.com.tw/en/
products/mainboards/mini_itx/epia/index.jsp

> Frankly, I'm afraid that your patch is likely to break way more
> systems
> than it fixes. What is getpagesizes(), and is it guaranteed to
> exist on
> *every* Solaris system? What the heck correlation does its result
> have
> to whether SHM_SHARE_MMU will work?

AFAIK getpagesizes() appeared in 2001 so that probably means it is
missing in anything before
Solaris 9.

If you look at line 308 of http://cvs.opensolaris.org/source/xref/on/
usr/src/uts/common/os/shm.c
you'll see that shmat return EINVAL if only one pagesize is available.
Which is what happens on my system, and possibly also on older (32
bit pre Ultra ) Sparc systems.

My guess is that all UltraSparce and 'modern' x86/amd64 cpu's support
large pages and therefor will n
ever hit this failure mode of shmat().
I'll see if I can get the x86 experts here to have a look at it...

Regards

Paul

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Hans Guijt 2006-04-25 08:18:05 Re: BUG #2305: "No bufferspace available" error on large insert
Previous Message Tom Lane 2006-04-25 07:08:53 Re: BUG #2406: Not all systems support SHM_SHARE_MMU