summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/linux/vm_event_item.h1
-rw-r--r--mm/page_alloc.c1
-rw-r--r--mm/vmstat.c1
3 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h
index 095cdb9997ca..cb5cee1e85af 100644
--- a/include/linux/vm_event_item.h
+++ b/include/linux/vm_event_item.h
@@ -37,6 +37,7 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
FOR_ALL_ZONES(PGSCAN_SKIP)
PGFREE, PGACTIVATE, PGDEACTIVATE, PGLAZYFREE,
PGFREE_RCU, PGFREE_RCU_DONE, PGFREE_RCU_MARK,
+ PGFREE_RCU_KICK,
PGFREE_RCU_DRAIN,
PGFAULT, PGMAJFAULT,
PGLAZYFREED,
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 1f69c96ae3e0..505dc10e8e30 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1444,6 +1444,7 @@ static void rcu_free_expedite_workfn(struct work_struct *work)
if (list_empty(&list))
return;
+ count_vm_event(PGFREE_RCU_KICK);
synchronize_rcu_expedited();
rcu_free_pages(&list);
}
diff --git a/mm/vmstat.c b/mm/vmstat.c
index 7341c8b4d3fa..8df8a309e736 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -1347,6 +1347,7 @@ const char * const vmstat_text[] = {
[I(PGFREE_RCU)] = "pgfree_rcu",
[I(PGFREE_RCU_DONE)] = "pgfree_rcu_done",
[I(PGFREE_RCU_MARK)] = "pgfree_rcu_mark",
+ [I(PGFREE_RCU_KICK)] = "pgfree_rcu_kick",
[I(PGFREE_RCU_DRAIN)] = "pgfree_rcu_drain",
[I(PGFAULT)] = "pgfault",