From patchwork Tue Apr 11 14:15:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Hildenbrand X-Patchwork-Id: 13207641 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 18FBBC77B70 for ; Tue, 11 Apr 2023 14:15:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 779636B0075; Tue, 11 Apr 2023 10:15:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 702B2900004; Tue, 11 Apr 2023 10:15:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 57BBF900003; Tue, 11 Apr 2023 10:15:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 454DD6B0075 for ; Tue, 11 Apr 2023 10:15:47 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 0EF95AC340 for ; Tue, 11 Apr 2023 14:15:47 +0000 (UTC) X-FDA: 80669308734.09.90EDA04 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf16.hostedemail.com (Postfix) with ESMTP id 4BD6418002C for ; Tue, 11 Apr 2023 14:15:45 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=bcu5wu8A; spf=pass (imf16.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681222545; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=TCmOrD6a+wU+gQBMdrpGdoWY5w1T2pXs/1sAiD9BNP4=; b=Fl3VLUl4vdZ9ck0O8yoxqp9Bqb2RzRuWwYIp/VCLZtM2GhY9CG6/Y2gsoWVJKKl6LYnelf TNsK/OubDnMOM/jZ+AtvZPCPO7b296cnWX78IyHfo60vfVQrK/nCxP+sJbcMtrKMsI0XwI o6SHuU31UmnjWBPRYl4KIxZRZpeJ1mc= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=bcu5wu8A; spf=pass (imf16.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681222545; a=rsa-sha256; cv=none; b=UNM7j2sKhVVkNkofyBEVgoDLXg3xLZekJViJzUahKaDvJPFJMzZ+VMORFsS0dq59iDORbZ 2X2zMgQheh8Tu48qs/NLERuLSQ4Gq4BBF/E0GERjFt1//VOaMqi+GgtBSRXUgSj4KG08on aF8K5tE3B5ilMVP6PuT7tUWmXOhsKuI= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1681222544; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TCmOrD6a+wU+gQBMdrpGdoWY5w1T2pXs/1sAiD9BNP4=; b=bcu5wu8AydCIPl15MQcOjNEIRouoLljOLn/4k4kR/9XRWYg4Qt1L5GxXs0pl/przKwAAwg 5iJBxVEhXsBal03QqSJ1c2+WWX6A8csBqg7PQnnQ7xn6oakk8XHHbzIlVKRNjV/1MdEum2 qwlBPJ/lrM/Y9sl0JVVNhWh2HbLFfnw= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-197-8t3asOMrN_Sxm6SwwHsM4A-1; Tue, 11 Apr 2023 10:15:42 -0400 X-MC-Unique: 8t3asOMrN_Sxm6SwwHsM4A-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 14C95185A791; Tue, 11 Apr 2023 14:15:42 +0000 (UTC) Received: from t480s.redhat.com (unknown [10.39.194.95]) by smtp.corp.redhat.com (Postfix) with ESMTP id 16E57400F285; Tue, 11 Apr 2023 14:15:40 +0000 (UTC) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org, linux-kselftest@vger.kernel.org, sparclinux@vger.kernel.org, David Hildenbrand Subject: [PATCH v1 4/6] mm/migrate: revert "mm/migrate: fix wrongly apply write bit after mkdirty on sparc64" Date: Tue, 11 Apr 2023 16:15:27 +0200 Message-Id: <20230411141529.428991-6-david@redhat.com> In-Reply-To: <20230411141529.428991-1-david@redhat.com> References: <20230411141529.428991-1-david@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: ct3zc8ip7fppg7zwztpwgpthzfci5o7j X-Rspamd-Queue-Id: 4BD6418002C X-HE-Tag: 1681222545-383058 X-HE-Meta: U2FsdGVkX1+JrQKdPw1EGd9dkbUO294n6onKpNppFInnV0uwb27f908bINX5SnpzeGum+88jL1XfsVw1QgfyjpR7ZTp9fkFs9gwwcqR1gI7wJtuB3VK2qp/kAZKHx/B+ClybQQC0wS90g/uCPnCz32k62GL0xpVtpcSmNAfzck+J6ox3zBi2DtWcEF7kqyblPGUtXa9dFi0eld6CFTWet99vSgcqMEERpH8gQsYzNW9nY6oLfivVG+8h7Q+qoB0opryorf2OKjH4Lo0xhlgZBhcT3cHlYiqEx3f45yGt8djZGsR+IgLSr1lHzo5EKWCPA3t9KZBeoPZo8+b8iNY5ymn/obLuXBmbzF9F0v9I6VQmVcybIUgOjWCp7q1nC5AldsH9BdVUs3lC6Ff6J7/20B75XazTTbAITIt1vQbuch6i3/JcI8mM/IlcpC5sOPDS4qkDPrDC2PfBVWv42QAbmPYRp1GSCbdW2qQroFb/ssbtaZCFsgEWWMkZI820GpKIHyCsgjvzbszEKlZXnjsVGKp37FfMIgyRfAuvQeojiOrlfgieFMpww8EWxH+yAu2zZn6v+/JDxAotTlNmPpOo6MfXDO3o15bw4yHQJ6Jrr7r4nPKNIXFg7W2Z/ura2Rc67l2tcYpz71kaGZi0zrdH2lwLG7NuU3Fp0qpGEZEJ0z3UrvIzZgTxvi0q5XFxmFE3H3DrVc0nI/2zH4/q1lmjay1LEl2Pvu1VCnIdfsSb4O3tHAtx+G+g4BUzX5C1w9WEo8ssrol51YkCWrYjpwnqiklXYFvpbEHljw1aHZsoFGpNeZKjsyIoJ5bnuuQaBQIAcbhBmkE3kcSCFgz7WUWGzWwfy9ARdGE8nJvCiEdgJVVdUYOKN/8OLjzzVmihqZ8uyRKCU506286acrKokiMVN/9/7lm0trp5PL3Xvk0W2Otul4/SlDmmFE1+GJAQW3ONtHc+ldb6XTY7wt56U+x 1n8QT3HP FW0+oZbuj91nTvZQBUtc8qrlm2cN86IVtnxxlLzJVXBn0uQLQBghvcBiueqRib5nSNlW0YllrZlp+DvVVcAmy6NUIs0UO7511gwcEqYGbIvOpKIjJr2bMy4IKCBdMCnPII3V54eIX7MMvJdmQucZSbG9dmjXxUelGUPa3haYGDwEMQyPcqA+ZA8DOsw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: This reverts commit 96a9c287e25d ("mm/migrate: fix wrongly apply write bit after mkdirty on sparc64"). Now that sparc64 mkdirty handling is fixed and no longer sets a PTE/PMD writable that shouldn't be writable, let's revert the temporary fix. The mkdirty mm selftest still passes with this change on sparc64. Note that loongarch handling was fixed in commit bf2f34a506e6 ("LoongArch: Set _PAGE_DIRTY only if _PAGE_WRITE is set in {pmd,pte}_mkdirty()"). Signed-off-by: David Hildenbrand --- mm/huge_memory.c | 6 ++---- mm/migrate.c | 2 -- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 032fb0ef9cd1..ec86bf1d4e81 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -3276,6 +3276,8 @@ void remove_migration_pmd(struct page_vma_mapped_walk *pvmw, struct page *new) pmde = mk_huge_pmd(new, READ_ONCE(vma->vm_page_prot)); if (pmd_swp_soft_dirty(*pvmw->pmd)) pmde = pmd_mksoft_dirty(pmde); + if (is_writable_migration_entry(entry)) + pmde = maybe_pmd_mkwrite(pmde, vma); if (pmd_swp_uffd_wp(*pvmw->pmd)) pmde = pmd_mkuffd_wp(pmde); if (!is_migration_entry_young(entry)) @@ -3283,10 +3285,6 @@ void remove_migration_pmd(struct page_vma_mapped_walk *pvmw, struct page *new) /* NOTE: this may contain setting soft-dirty on some archs */ if (PageDirty(new) && is_migration_entry_dirty(entry)) pmde = pmd_mkdirty(pmde); - if (is_writable_migration_entry(entry)) - pmde = maybe_pmd_mkwrite(pmde, vma); - else - pmde = pmd_wrprotect(pmde); if (PageAnon(new)) { rmap_t rmap_flags = RMAP_COMPOUND; diff --git a/mm/migrate.c b/mm/migrate.c index db3f154446af..3b21c44e2176 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -225,8 +225,6 @@ static bool remove_migration_pte(struct folio *folio, pte = maybe_mkwrite(pte, vma); else if (pte_swp_uffd_wp(*pvmw.pte)) pte = pte_mkuffd_wp(pte); - else - pte = pte_wrprotect(pte); if (folio_test_anon(folio) && !is_readable_migration_entry(entry)) rmap_flags |= RMAP_EXCLUSIVE;