[resend] Allow use of MAP_TRYFIXED for better mmap()

Alexandre Julliard julliard at winehq.org
Thu Aug 28 11:32:15 CDT 2003


Todd Vierling <tv at pobox.com> writes:

> I have a feeling we're just on different mental wavelengths here.
> MAP_TRYFIXED is not an optional feature.  If the #define exists, the feature
> exists -- for the OS version used to compile, and all later versions.

You are still thinking only about source distributions. The problem is
when you want to ship a binary: the only way to build a binary that
works for everybody is to build it on an old OS version; that's the
way it is on all systems (it's the same way on Linux, at least WRT
libc).

Then, since you built that binary on an old OS, it will not use
MAP_TRYFIXED, no matter what kernel it runs on. Basically you have to
sacrifice performance to gain portability; even if 99% of your users
have a new kernel, your binary still cannot take advantage of that.
With a run-time check you don't have to sacrifice anything, the binary
is still portable everywhere, but can also use MAP_TRYFIXED for better
performance if it exists in the running kernel.

-- 
Alexandre Julliard
julliard at winehq.com



More information about the wine-devel mailing list