* Code that does page outs
@ 2003-10-06 6:32 Eugene Teo
2003-10-06 7:02 ` Paul Jackson
0 siblings, 1 reply; 3+ messages in thread
From: Eugene Teo @ 2003-10-06 6:32 UTC (permalink / raw)
To: linux-mm
I am looking for possible areas in the kernel code where
page outs occurs. I have looked at shrink_cache(), and
swap_out_pmd() which calls try_to_swap_out().
Are there other areas that i missed out?
I am looking at the areas where page outs will occur so that
I can keep track of
1) number of page outs occurred at an arbitrary time.
2) what causes the page outs.
Anticipating a reply...
Eugene
--
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: Code that does page outs
2003-10-06 6:32 Code that does page outs Eugene Teo
@ 2003-10-06 7:02 ` Paul Jackson
2003-10-06 8:35 ` Eugene Teo
0 siblings, 1 reply; 3+ messages in thread
From: Paul Jackson @ 2003-10-06 7:02 UTC (permalink / raw)
To: Eugene Teo; +Cc: eugene.teo, linux-mm
> I am looking for possible areas in the kernel code where ...
May I recommend to you the site:
Cross-Referencing Linux
http://lxr.linux.no
For example, start with an "identifier search" on one of the symbols you
identified, try_to_swap_out:
http://lxr.linux.no/ident?i=try_to_swap_out
This page will show where it is defined, and what calls it. Examine the
code that defines try_to_swap_out(). Observe the critical between lines
133 and 148 of this file, vmscan.c. This is where it gets a free swap
entry, get_swap_page(), and assigns the current page to that entry,
add_to_swap_cache().
I would expect that any other piece of code that wants to swap is going
to use those same routines, get_swap_page(), and add_to_swap_cache().
Though examining these two routines in detail and what they call in turn
would help to verify that expectation.
Then continue using lxr.linux.no to see what else, if anything, calls
this pair of routines: get_swap_page(), and add_to_swap_cache().
This will lead you to any other paths, if any, to swapping a page.
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@sgi.com> 1.650.933.1373
--
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: Code that does page outs
2003-10-06 7:02 ` Paul Jackson
@ 2003-10-06 8:35 ` Eugene Teo
0 siblings, 0 replies; 3+ messages in thread
From: Eugene Teo @ 2003-10-06 8:35 UTC (permalink / raw)
To: linux-mm
Thanks Paul. Actually, I have identified, and read the code
starting from try_to_swap_out, then swap_out_pmd, then swap_out_pgd,
then swap_out_vma, then swap_out_mm, then swap_out, which returns
the number of pages swapped out. I have also read shrink_cache and
also took note of the number of pages swapped out. I am just wondering
if I have missed out any portion of the mm that can lead to page being
swap out. Anyhow, thank you for your tip for I have been using this
website too, along with my other materials.
<quote sender="Paul Jackson">
> > I am looking for possible areas in the kernel code where ...
>
> May I recommend to you the site:
>
> Cross-Referencing Linux
> http://lxr.linux.no
>
> For example, start with an "identifier search" on one of the symbols you
> identified, try_to_swap_out:
>
> http://lxr.linux.no/ident?i=try_to_swap_out
>
> This page will show where it is defined, and what calls it. Examine the
> code that defines try_to_swap_out(). Observe the critical between lines
> 133 and 148 of this file, vmscan.c. This is where it gets a free swap
> entry, get_swap_page(), and assigns the current page to that entry,
> add_to_swap_cache().
>
> I would expect that any other piece of code that wants to swap is going
> to use those same routines, get_swap_page(), and add_to_swap_cache().
> Though examining these two routines in detail and what they call in turn
> would help to verify that expectation.
>
> Then continue using lxr.linux.no to see what else, if anything, calls
> this pair of routines: get_swap_page(), and add_to_swap_cache().
>
> This will lead you to any other paths, if any, to swapping a page.
>
> --
> I won't rest till it's the best ...
> Programmer, Linux Scalability
> Paul Jackson <pj@sgi.com> 1.650.933.1373
> --
> 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>
>
--
Eugene TEO <eugeneteo@despammed.com> <http://www.anomalistic.org/>
1024D/14A0DDE5 print D851 4574 E357 469C D308 A01E 7321 A38A 14A0 DDE5
main(i) { putchar(182623909 >> (i-1) * 5&31|!!(i<7)<<6) && main(++i); }
--
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:[~2003-10-06 8:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-06 6:32 Code that does page outs Eugene Teo
2003-10-06 7:02 ` Paul Jackson
2003-10-06 8:35 ` Eugene Teo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox