Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-bugs by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group