unsigned long anonymous_thp;
unsigned long swap;
unsigned long nonlinear;
+ unsigned long hwpoison;
u64 pss;
};
mss->swap += ptent_size;
else if (is_migration_entry(swpent))
page = migration_entry_to_page(swpent);
+ else if (is_hwpoison_entry(swpent))
+ mss->hwpoison += ptent_size;
} else if (pte_file(ptent)) {
if (pte_to_pgoff(ptent) != pgoff)
mss->nonlinear += ptent_size;
if (page->index != pgoff)
mss->nonlinear += ptent_size;
+ if (PageHWPoison(page))
+ mss->hwpoison += ptent_size;
+
mss->resident += ptent_size;
/* Accumulate the size in pages that have been accessed. */
if (pte_young(ptent) || PageReferenced(page))
seq_printf(m, "Nonlinear: %8lu kB\n",
mss.nonlinear >> 10);
+ if (IS_ENABLED(CONFIG_MEMORY_FAILURE) && mss.hwpoison)
+ seq_printf(m, "HWPoison: %8lu kB\n",
+ mss.hwpoison >> 10);
+
if (m->count < m->size) /* vma is copied successfully */
m->version = (vma != get_gate_vma(task->mm))
? vma->vm_start : 0;