On 25-apr-2006, at 20:34, Tom Lane wrote:
> Paul van der Zwan <Paul.Vanderzwan@Sun.COM> writes:
>> On 25-apr-2006, at 16:46, Tom Lane wrote:
>>> AFAICS, SHM_SHARE_MMU has no
>>> guaranteed semantic effect anyway, it's just a performance hint; so
>>> ignoring it on platforms that can't handle it is reasonable.
>>>
>> I disagree, I have no definite info why it is a hard failure,
>> probably because
>> there is no way to communicate to the app that it's request is
>> ignored.
>
> Which applications do you think will do anything except exactly
> what you
> are proposing we do, ie, just redo the call without the flag bit? Why
> are you going to make every application jump through this hoop in
> order
> to cope with a (possibly temporary) inadequacy in some seldom-used
> versions of Solaris?
>
> We'll probably put in the kluge because we have no other choice, but
> I strongly disagree that it's our problem.
I think I have to make something clear, I am not part of the Solaris
Engineering group
and even though I work for Sun I personally have probably less
influence on Solaris than
a customer. What I wrote/write is my personal opinion and I should
insert the usual
disclaimer about me not 'officially' representing Sun Microsystems .
I personally do believe that silently failing or ignoring something
an application asks for explicitely
is bad, if the application wants it and does not get it, the OS
should communicate this to
the application.
I feel it is up to the application and not to the OS to decide how
to respond when the request fails.
It may be true that all or most applications will just redo it, or
they may do something else
because ISM is not present, to be honest I do not know.
The code you suggested is IMHO a clean way to ask for an optimization
and gracefully accept the denial
and continue without it.
My guess is the absence of ISM on the VIA cpu is purely a hardware
issue and not related to a 'seldom used
version of Solaris' as there are no different versions of Solaris,
only different releases. If the hardware
does not support something it may be difficult or impossible for an
OS to implement a feature. It would be
nice though if every CPU supports the large pages so the failure
would never happen.
Regards
Paul