Re: missing madvise functionality

Nick Piggin
2007-04-06T02:28:29Z

Ulrich Drepper wrote:
> In case somebody wants to play around with Rik patch or another
> madvise-based patch, I have x86-64 glibc binaries which can use it:
>
> http://people.redhat.com/drepper/rpms
>
> These are based on the latest Fedora rawhide version. They should work
> on older systems, too, but you screw up your updates. Use them only if
> you know what you do.
>
> By default madvise(MADV_DONTNEED) is used. With the environment variable

Cool. According to my thinking, madvise(MADV_DONTNEED) even in today's
kernels using down_write(mmap_sem) for MADV_DONTNEED is better than
mmap/mprotect, which have more fundamental locking requirements, more
overhead and no benefits (except debugging, I suppose).

MADV_DONTNEED is twice as fast in single threaded performance, and an
order of magnitude faster for multiple threads, when MADV_DONTNEED only
takes mmap_sem for read.

Do you plan to include this change in general glibc releases? Maybe it
will make google malloc obsolete? ;) (I don't suppose you'd be able to
get any tests done, Andrew?)

--
SUSE Labs, Novell Inc.