On Fri, Jul 30, 1999 at 09:51:35AM -0700, Matthew Dillon wrote:
>
>     I'm not sure I see how MADV_FREE could slow performance down unless,
>     perhaps, it is the overhead of the system call itself.  e.g. if malloc
>     is calling it on a page-by-page basis and not implementing any hysteresis.
>

It's the system call overhead.  Adding (more) hysteresis would reduce
the overhead by some factor, but we'd still be making unnecessary
MADV_FREE calls.  Calling MADV_FREE accomplishes nothing unless
the system is actually short of memory.  The right way to address
this problem is likely to add a mechanism to the VM system that
sends a signal to the process when MADV_FREE would actually be
beneficial.

>     2% isn't a big deal.  MADV_FREE theoretically makes a big impact on 
>     paging performance in a heavily loaded & paging system.  If your tests
>     were run on a system that wasn't paging, you weren't testing the right
>     thing.
> 

99% of our user base, whose machines aren't thrashing during a "make world"
or other normal operation, shouldn't pay a 2% penalty to produce
a theoretical improvement for the 1% that are.  At best, that's "optimizing"
the infrequent case at the expense of the frequent, not a good trade-off.

In any case, the man page for malloc/free explains how to change
the default, if you're a part of the "oppressed" 1%.

Alan


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to