PCH support on Solaris
Eric Botcazou
ebotcazou@libertysurf.fr
Sat Apr 5 08:17:00 GMT 2003
> I don't think this is a performance issue, but a correctness issue.
Don't forget that we're only talking about heuristics, so it's fine if it
just works.
> However, if you do not use MAP_FIXED, the OS will treat the address
> parameter as merely a hint, which it is free to ignore completely
> -- and in fact this is what in my experience (at least some versions)
> of Solaris tend to do.
I've attached a little test program that exercices Paolo's solution:
- we first ask mmap for the preferred location by passing NULL,
- then we pass it this preferred location with a zero offset.
We do so for sizes up to 1GB.
Tested on Solaris/Sparc 2.5.1, 2.6, 2.7, 2.8, 2.9, all clear.
> So it is easily possible that this mmap will always succeed, but never
> return guess == mmi.preferred_base. Using MAP_FIXED subsequently with the
> address guess doesn't then buy you anything ...
Note that, in the patch I posted, I explicitly check that we have the
equality guess == mmi.preferred_base. And, according to the little test
program, this seems to be true:
- if mmi.preferred_base is the preferred address returned by mmap(NULL, ...)
- and the offset is zero.
> This is why I don't quite see what the benefit of this mmap is
> supposed to be.
We work around the dependency upon the offset, which seems to be a feature of
Solaris.
--
Eric Botcazou
-------------- next part --------------
A non-text attachment was scrubbed...
Name: solaris_pch.c
Type: text/x-csrc
Size: 1830 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20030405/8ee46f43/attachment.bin>
More information about the Gcc-patches
mailing list