Roland Mainz wrote:
Eric Lowe wrote:
but there's too much code out there that just breaks. The
programmers made implicit assumptions about the approximate
size of a page, and that was that.
Which code breaks ? Userland or kernel code ? Was
Userland. The problem is that mmap() exposed too much detail
and as a result assumptions about sysconf(_SC_PAGESIZE) or
even the range of possible values resulted in programs dying
when sysconf returns 64K for the pagesize. In other words,
the value of sysconf(_SC_PAGESIZE) has sort of defacto ended>
up baked into the Solaris ABI in an unintentional way.
... but how ? I've read the ABI specs and mmap(2) several times and the
only thing which AFAIK may be possible is trouble with MAP_FIXED and
rounding. But that's again not in the ABI, it's just that the
applications make special assumptions about the page size.
I assume this also means a (hypothetical) SPARC CPU which only supports
16k and 256k pages cannot be supported by Solaris, right ?
----
Bye,
Roland
Grab a chunk of VA (w/ mmap_noreserve) and then try and
allocate several pages inside w/ guard pages. If you
grabbed a fixed size area initially, your code is broken
if someone mucks enough w/ the page size.
- Bart
--
Bart Smaalders Solaris Kernel Performance
[EMAIL PROTECTED] http://blogs.sun.com/barts
_______________________________________________
opensolaris-discuss mailing list
[email protected]