Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9d85d586 authored by Aneesh Kumar K.V's avatar Aneesh Kumar K.V Committed by Benjamin Herrenschmidt
Browse files

mm: Dirty accountable change only apply to non prot numa case



So move it within the if loop

Acked-by: default avatarMel Gorman <mgorman@suse.de>
Reviewed-by: default avatarRik van Riel <riel@redhat.com>
Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 88247e8d
Loading
Loading
Loading
Loading
+7 −14
Original line number Original line Diff line number Diff line
@@ -58,6 +58,13 @@ static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd,
				if (pte_numa(ptent))
				if (pte_numa(ptent))
					ptent = pte_mknonnuma(ptent);
					ptent = pte_mknonnuma(ptent);
				ptent = pte_modify(ptent, newprot);
				ptent = pte_modify(ptent, newprot);
				/*
				 * Avoid taking write faults for pages we
				 * know to be dirty.
				 */
				if (dirty_accountable && pte_dirty(ptent))
					ptent = pte_mkwrite(ptent);
				ptep_modify_prot_commit(mm, addr, pte, ptent);
				updated = true;
				updated = true;
			} else {
			} else {
				struct page *page;
				struct page *page;
@@ -72,22 +79,8 @@ static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd,
					}
					}
				}
				}
			}
			}

			/*
			 * Avoid taking write faults for pages we know to be
			 * dirty.
			 */
			if (dirty_accountable && pte_dirty(ptent)) {
				ptent = pte_mkwrite(ptent);
				updated = true;
			}

			if (updated)
			if (updated)
				pages++;
				pages++;

			/* Only !prot_numa always clears the pte */
			if (!prot_numa)
				ptep_modify_prot_commit(mm, addr, pte, ptent);
		} else if (IS_ENABLED(CONFIG_MIGRATION) && !pte_file(oldpte)) {
		} else if (IS_ENABLED(CONFIG_MIGRATION) && !pte_file(oldpte)) {
			swp_entry_t entry = pte_to_swp_entry(oldpte);
			swp_entry_t entry = pte_to_swp_entry(oldpte);