* Is there a way to do an architecture specific shake of memory?
@ 2005-03-08 21:15 Robin Holt
2005-03-09 2:35 ` Christoph Lameter
0 siblings, 1 reply; 3+ messages in thread
From: Robin Holt @ 2005-03-08 21:15 UTC (permalink / raw)
To: linux-mm
I am in the process of fixing the quicklist handling for the ia64 page
tables. The problem we are running into is the quicklists are per-cpu.
When memory is running short, the only current callout to shrink the
quicklist is coming from cpu_idle(). The most recent suggestion is to
schedule_delayed_work_on() for every cpu in the system and have them
check to see if the quicklist needs to be shrunk. This feels wrong.
What I would like to do is have wakup_kswapd(), kswapd() or
balance_pdgat() do the actual call to smp_call_function_single() as
needed to try to shrink the quicklists. This would need to be an ia64
only change. Is there already a method for the architecture to get
control during any part of the process? If not, where would be the most
acceptable place?
Any suggestions are welcome.
Thanks,
Robin Holt
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Is there a way to do an architecture specific shake of memory?
2005-03-08 21:15 Is there a way to do an architecture specific shake of memory? Robin Holt
@ 2005-03-09 2:35 ` Christoph Lameter
2005-03-09 12:14 ` Robin Holt
0 siblings, 1 reply; 3+ messages in thread
From: Christoph Lameter @ 2005-03-09 2:35 UTC (permalink / raw)
To: Robin Holt; +Cc: linux-mm
On Tue, 8 Mar 2005, Robin Holt wrote:
> Any suggestions are welcome.
Check when you free items how long the list of free items is and if its
too long free some of them.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Is there a way to do an architecture specific shake of memory?
2005-03-09 2:35 ` Christoph Lameter
@ 2005-03-09 12:14 ` Robin Holt
0 siblings, 0 replies; 3+ messages in thread
From: Robin Holt @ 2005-03-09 12:14 UTC (permalink / raw)
To: Christoph Lameter; +Cc: Robin Holt, linux-mm
On Tue, Mar 08, 2005 at 06:35:07PM -0800, Christoph Lameter wrote:
> On Tue, 8 Mar 2005, Robin Holt wrote:
>
> > Any suggestions are welcome.
>
> Check when you free items how long the list of free items is and if its
> too long free some of them.
That is done as well as a check from cpu_idle. The amount of free is
being changed from a boot-time very large number computed from total
memory to a per-node percentage of free memory. A concern was raised
for the eventuality of a process constantly running on a cpu so the idle
calls never happen, a memory hog application begins to consume memory on
the node, and nothing ever shakes the memory free from the quicklists.
This led to the suggestion of a timer based shaker. I would rather put
it into the blocked allocation path than have it timer based and hope
we pick the correct resolution of timer. The problem is the quicklists
are per-cpu so we need to try flushing the quicklists for the cpus on
the affected node.
Thanks,
Robin Holt
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-03-09 12:14 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-08 21:15 Is there a way to do an architecture specific shake of memory? Robin Holt
2005-03-09 2:35 ` Christoph Lameter
2005-03-09 12:14 ` Robin Holt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox