Re: [PATCH -v2 -mm] add extra free kbytes tunable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 1 Sep 2011, Rik van Riel wrote:

> Add a userspace visible knob to tell the VM to keep an extra amount
> of memory free, by increasing the gap between each zone's min and
> low watermarks.
> 
> This is useful for realtime applications that call system
> calls and have a bound on the number of allocations that happen
> in any short time period.  In this application, extra_free_kbytes
> would be left at an amount equal to or larger than than the
> maximum number of allocations that happen in any burst.
> 
> It may also be useful to reduce the memory use of virtual
> machines (temporarily?), in a way that does not cause memory
> fragmentation like ballooning does.
> 

I know this was merged into -mm, but I still have to disagree with it 
because I think it adds yet another userspace knob that will never be 
obsoleted, will be misinterepted, and is tied very closely to the 
implementation of page reclaim, both synchronous and asynchronous.  I also 
think that it will cause regressions on other cpu intensive workloads 
that don't require this extra freed memory because it works as a global 
heuristic and is not tied to any specific application.

I think it would be far better to reclaim beyond above the high watermark 
if the types of workloads that need this tunable can be somehow detected 
(the worst case scenario is being a prctl() that does synchronous reclaim 
above the watermark so admins can identify these workloads), or be able to 
mark allocations within the kernel as potentially coming in large bursts 
where allocation is problematic.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]