Thread (1 message) 1 message, 1 author, 2013-02-20

A noobish question on mm

From: Li Haifeng <hidden>
Date: 2013-02-20 02:01:21
Also in: linux-mm, lkml

2013/2/19 Soham Chakraborty [off-list ref]:

On Tue, Feb 19, 2013 at 12:08 PM, Li Haifeng [off-list ref] wrote:
quoted
2013/2/19 Soham Chakraborty [off-list ref]:
quoted
Hey dude,

Apologies for this kind of approach but I was not sure whether I can
directly mail the list with such a noobish question. I have been poking
around in mm subsystem for around 2 years now and I have never got a
fine,
bullet proof answer to this question.

Why would something swap even if there is free or cached memory
available.
It's known that swap operation is done with memory reclaiming.There
are three occasions for memory reclaiming: low on memory reclaiming,
Hibernation reclaiming, periodic reclaiming.

For periodic reclaiming, some page may be swapped out even if there is
free or cached memory available.

So, meaning even if there is free or cached memory available, periodic
reclaiming might cause some pages to be swapped out. Is this the rationale.
If so, which part of the source explains this behavior
The following sentences is from "Understanding Linux Kernel 3rd".

If _ _alloc_pages( ) discovers that all memory zones suitable for a
memory allocation have a number of free page frames below a "warning"
threshold essentially, a value based on the pages_low and protection
fields of the memory zone descriptor then the function wakes up the
kswapd kernel threads of the corresponding memory nodes. Essentially,
the kernel starts to reclaim some page frames in order to avoid much
more dramatic "low on memory" conditions.

About kswapd kernel threads, please look at kswapd() in file of "mm/vmscan.c".

Regards,
Haifeng Li
quoted
Please correct me if my understanding is wrong.

Regards,
Haifeng Li
quoted
I have read about all possible theories including lru algorithm,
vm.swappiness, kernel heuristics, overcommit of memory and all. But I
for
the heck of me, can't understand what is the issue. And I can't make the
end
users satisfied too. I keep blabbering kernel heuristics too much.

Do you have any answer to this question. If you think this is worthy of
going to list, I will surely do so.

Soham
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help