|
|
@@ -713,6 +713,8 @@ static void smap_gather_stats(struct vm_area_struct *vma,
|
|
|
smaps_walk.private = mss;
|
|
|
|
|
|
#ifdef CONFIG_SHMEM
|
|
|
+ /* In case of smaps_rollup, reset the value from previous vma */
|
|
|
+ mss->check_shmem_swap = false;
|
|
|
if (vma->vm_file && shmem_mapping(vma->vm_file->f_mapping)) {
|
|
|
/*
|
|
|
* For shared or readonly shmem mappings we know that all
|
|
|
@@ -728,7 +730,7 @@ static void smap_gather_stats(struct vm_area_struct *vma,
|
|
|
|
|
|
if (!shmem_swapped || (vma->vm_flags & VM_SHARED) ||
|
|
|
!(vma->vm_flags & VM_WRITE)) {
|
|
|
- mss->swap = shmem_swapped;
|
|
|
+ mss->swap += shmem_swapped;
|
|
|
} else {
|
|
|
mss->check_shmem_swap = true;
|
|
|
smaps_walk.pte_hole = smaps_pte_hole;
|