mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
mm: migrate: Add a tracepoint for migrate_pages
The pgmigrate_success and pgmigrate_fail vmstat counters tells the user about migration activity but not the type or the reason. This patch adds a tracepoint to identify the type of page migration and why the page is being migrated. Signed-off-by: Mel Gorman <[email protected]> Reviewed-by: Rik van Riel <[email protected]>
This commit is contained in:
parent
5647bc293a
commit
7b2a2d4a18
8 changed files with 82 additions and 10 deletions
10
mm/migrate.c
10
mm/migrate.c
|
|
@ -38,6 +38,9 @@
|
|||
|
||||
#include <asm/tlbflush.h>
|
||||
|
||||
#define CREATE_TRACE_POINTS
|
||||
#include <trace/events/migrate.h>
|
||||
|
||||
#include "internal.h"
|
||||
|
||||
/*
|
||||
|
|
@ -958,7 +961,7 @@ out:
|
|||
*/
|
||||
int migrate_pages(struct list_head *from,
|
||||
new_page_t get_new_page, unsigned long private, bool offlining,
|
||||
enum migrate_mode mode)
|
||||
enum migrate_mode mode, int reason)
|
||||
{
|
||||
int retry = 1;
|
||||
int nr_failed = 0;
|
||||
|
|
@ -1004,6 +1007,8 @@ out:
|
|||
count_vm_events(PGMIGRATE_SUCCESS, nr_succeeded);
|
||||
if (nr_failed)
|
||||
count_vm_events(PGMIGRATE_FAIL, nr_failed);
|
||||
trace_mm_migrate_pages(nr_succeeded, nr_failed, mode, reason);
|
||||
|
||||
if (!swapwrite)
|
||||
current->flags &= ~PF_SWAPWRITE;
|
||||
|
||||
|
|
@ -1145,7 +1150,8 @@ set_status:
|
|||
err = 0;
|
||||
if (!list_empty(&pagelist)) {
|
||||
err = migrate_pages(&pagelist, new_page_node,
|
||||
(unsigned long)pm, 0, MIGRATE_SYNC);
|
||||
(unsigned long)pm, 0, MIGRATE_SYNC,
|
||||
MR_SYSCALL);
|
||||
if (err)
|
||||
putback_lru_pages(&pagelist);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue