projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
76ca542
)
mm/page_alloc.c: remove duplicate call to trace_mm_page_free_direct
author
Li Hong
<
[email protected]
>
Fri, 5 Mar 2010 21:41:52 +0000
(13:41 -0800)
committer
Linus Torvalds
<
[email protected]
>
Sat, 6 Mar 2010 19:26:24 +0000
(11:26 -0800)
trace_mm_page_free_direct() is called in function __free_pages(). But it
is called again in free_hot_page() if order == 0 and produce duplicate
records in trace file for mm_page_free_direct event. As below:
K-PID CPU# TIMESTAMP FUNCTION
gnome-terminal-1567 [000] 4415.246466: mm_page_free_direct: page=
ffffea0003db9f40
pfn=
1155800
order=0
gnome-terminal-1567 [000] 4415.246468: mm_page_free_direct: page=
ffffea0003db9f40
pfn=
1155800
order=0
gnome-terminal-1567 [000] 4415.246506: mm_page_alloc: page=
ffffea0003db9f40
pfn=
1155800
order=0 migratetype=0 gfp_flags=GFP_KERNEL
gnome-terminal-1567 [000] 4415.255557: mm_page_free_direct: page=
ffffea0003db9f40
pfn=
1155800
order=0
gnome-terminal-1567 [000] 4415.255557: mm_page_free_direct: page=
ffffea0003db9f40
pfn=
1155800
order=0
This patch removes the first call and adds a call to
trace_mm_page_free_direct() in __free_pages_ok().
Signed-off-by: Li Hong <
[email protected]
>
Cc: Mel Gorman <
[email protected]
>
Cc: Rik van Riel <
[email protected]
>
Cc: Ingo Molnar <
[email protected]
>
Cc: Larry Woodman <
[email protected]
>
Cc: Peter Zijlstra <
[email protected]
>
Cc: Li Ming Chun <
[email protected]
>
Cc: KOSAKI Motohiro <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
mm/page_alloc.c
patch
|
blob
|
history
diff --git
a/mm/page_alloc.c
b/mm/page_alloc.c
index a6b17aa4740b068feef786b87fe52b198e277375..ee37091b191ba1ad79d1ec37630fd83d654a2f7c 100644
(file)
--- a/
mm/page_alloc.c
+++ b/
mm/page_alloc.c
@@
-583,6
+583,7
@@
static void __free_pages_ok(struct page *page, unsigned int order)
int bad = 0;
int wasMlocked = __TestClearPageMlocked(page);
+ trace_mm_page_free_direct(page, order);
kmemcheck_free_shadow(page, order);
for (i = 0 ; i < (1 << order) ; ++i)
@@
-2008,7
+2009,6
@@
void __pagevec_free(struct pagevec *pvec)
void __free_pages(struct page *page, unsigned int order)
{
if (put_page_testzero(page)) {
- trace_mm_page_free_direct(page, order);
if (order == 0)
free_hot_page(page);
else