Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 07 Jan 2014 02:51:09 +0200
From:      Alexander Motin <mav@FreeBSD.org>
To:        hackers@freebsd.org
Subject:   UMA caches draining
Message-ID:  <52CB4F7D.2080909@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
Hi.

I have some questions about memory allocation. At this moment our UMA 
never returns freed memory back to the system until it is explicitly 
asked by pageout daemon via uma_reclaim() call, that happens only when 
system is quite low on memory. How does that coexist with buffer cache 
and other consumers? Will, for example, buffer cache allocate buffers 
and be functional when most of system's memory uselessly consumed by UMA 
caches? Is there some design how that supposed to work?

I've made an experimental patch for UMA 
(http://people.freebsd.org/~mav/drain_unused.patch) to make it every 20 
seconds return back to the system cached memory, unused for the last 20 
seconds. Algorithm is quite simple and patch seems like working, but I 
am not sure whether I am approaching problem from the right side. Any 
thoughts?

-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52CB4F7D.2080909>