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>