|
@@ -371,8 +371,8 @@ static struct task_struct *select_bad_process(unsigned int *ppoints,
|
|
|
* Dumps the current memory state of all eligible tasks. Tasks not in the same
|
|
|
* memcg, not in the same cpuset, or bound to a disjoint set of mempolicy nodes
|
|
|
* are not shown.
|
|
|
- * State information includes task's pid, uid, tgid, vm size, rss, cpu, oom_adj
|
|
|
- * value, oom_score_adj value, and name.
|
|
|
+ * State information includes task's pid, uid, tgid, vm size, rss, nr_ptes,
|
|
|
+ * swapents, oom_score_adj value, and name.
|
|
|
*
|
|
|
* Call with tasklist_lock read-locked.
|
|
|
*/
|
|
@@ -381,7 +381,7 @@ static void dump_tasks(const struct mem_cgroup *memcg, const nodemask_t *nodemas
|
|
|
struct task_struct *p;
|
|
|
struct task_struct *task;
|
|
|
|
|
|
- pr_info("[ pid ] uid tgid total_vm rss cpu oom_adj oom_score_adj name\n");
|
|
|
+ pr_info("[ pid ] uid tgid total_vm rss nr_ptes swapents oom_score_adj name\n");
|
|
|
for_each_process(p) {
|
|
|
if (oom_unkillable_task(p, memcg, nodemask))
|
|
|
continue;
|
|
@@ -396,10 +396,11 @@ static void dump_tasks(const struct mem_cgroup *memcg, const nodemask_t *nodemas
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- pr_info("[%5d] %5d %5d %8lu %8lu %3u %3d %5d %s\n",
|
|
|
+ pr_info("[%5d] %5d %5d %8lu %8lu %7lu %8lu %5d %s\n",
|
|
|
task->pid, from_kuid(&init_user_ns, task_uid(task)),
|
|
|
task->tgid, task->mm->total_vm, get_mm_rss(task->mm),
|
|
|
- task_cpu(task), task->signal->oom_adj,
|
|
|
+ task->mm->nr_ptes,
|
|
|
+ get_mm_counter(task->mm, MM_SWAPENTS),
|
|
|
task->signal->oom_score_adj, task->comm);
|
|
|
task_unlock(task);
|
|
|
}
|