Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp5594200rwl; Tue, 11 Apr 2023 07:33:29 -0700 (PDT) X-Google-Smtp-Source: AKy350a46cO6Df4YWHr9VDcO5UalShTtcDzfkKDLN+nuJqmJAP4JRPth4OqUsqjxO8ZUln+5cS+F X-Received: by 2002:a17:903:2347:b0:1a2:a298:6f65 with SMTP id c7-20020a170903234700b001a2a2986f65mr20952042plh.2.1681223608947; Tue, 11 Apr 2023 07:33:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681223608; cv=none; d=google.com; s=arc-20160816; b=h5uOiuxxHfkgtKGJCKK33Gbd0Xj/NRO7bwHkRNL94okuw7pUOKXusJRD4qDDSiKszf A3mHtn3MYKRoHiehIhtyBy9Xr08ZuJRIjIwMyrVkdV73eeXqsl5MBKmSSry84AQv1/ge nNyogrNjibmUiZD/o0J1/tw9he9+mytW3pKfnYsfnVtAon+/oTRjMVt0Z0rc4P9N8Buq lj7VFbpk7VBk1GCCXoB7wgXUWuusZCKMjjUxw7BCRi7yNgNKj3oaySK2DMVCkMlWuW4b ld11XMx1u+UOJi/iEARo7+G/5eYSvSUQHybBaNHFOfV4c81qqV5Tt1Ix509rNnDNSVDG rzNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=kMuXjs2koZ/Flt7PJQx7eiW1x5ktANLpUol8YMKeKVs=; b=iyGxvG1EpCNQ4Mhnt0UZcdVX+cSQ5uaajQc3gMukufwJj3rFbfM9d9JUnFz+ROeca+ /k+gOvLXw1SpQAOjbqVodxU6TKEJ30MZzq4l5XLDVgOJX9zaDi3uIuIUcGbi/21+7Z7q n/B8J/de9DTIGzns2w0HdAEU0i2XyJo5ot52EuhwNAA4Sin/b+K+olqfUZJC/xNrm01I gfNNHv7Swm6szbgN1HDy1KECF4aKS514vBg0iE1I7exljIv64bQ4WLQm0kq9cFW6+MWp t1f+kn2Rn5fnnGog4N07N9GR/dVG7nLhbqUHavpiGVLJk5bUoQjgYwSRVxcMiPLz2xz0 AgUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=fJDSJv1h; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l8-20020a170903120800b001a05a78f952si14699811plh.272.2023.04.11.07.33.17; Tue, 11 Apr 2023 07:33:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=fJDSJv1h; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230466AbjDKO1J (ORCPT + 99 others); Tue, 11 Apr 2023 10:27:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35170 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229640AbjDKO0w (ORCPT ); Tue, 11 Apr 2023 10:26:52 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A65C149D6 for ; Tue, 11 Apr 2023 07:25:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1681223132; 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=kMuXjs2koZ/Flt7PJQx7eiW1x5ktANLpUol8YMKeKVs=; b=fJDSJv1h+crQTLTnNVNHUwLOhNoAl+PxOt8MjgfDVp07DzvBEYKhBA91uImPH6yWbkYy0i uJplaGyh39FPngR8pBryD0fUa1v00udNw6gZne9JfXD6c6KZj362loJiGhntHRjHkoPZ++ mJJtwyfP1zKFtOzfogoTkfJaMwKKm8k= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-497-HXPMVzgwN7ms9In_1b7_gA-1; Tue, 11 Apr 2023 10:25:29 -0400 X-MC-Unique: HXPMVzgwN7ms9In_1b7_gA-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id EF19628237D4; Tue, 11 Apr 2023 14:25:28 +0000 (UTC) Received: from t480s.redhat.com (unknown [10.39.194.95]) by smtp.corp.redhat.com (Postfix) with ESMTP id CA53914171D7; Tue, 11 Apr 2023 14:25:26 +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 , Andrew Morton , "David S. Miller" , Peter Xu , Hugh Dickins , Shuah Khan , Sam Ravnborg , Yu Zhao , Anshuman Khandual Subject: [PATCH v1 RESEND 5/6] mm/huge_memory: revert "Partly revert "mm/thp: carry over dirty bit when thp splits on pmd"" Date: Tue, 11 Apr 2023 16:25:11 +0200 Message-Id: <20230411142512.438404-6-david@redhat.com> In-Reply-To: <20230411142512.438404-1-david@redhat.com> References: <20230411142512.438404-1-david@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This reverts commit 624a2c94f5b7 ("Partly revert "mm/thp: carry over dirty bit when thp splits on pmd"") and the fixup in commit e833bc503405 ("mm/thp: re-apply mkdirty for small pages after split"). 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 and remove the stale comment. 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 | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index ec86bf1d4e81..6f3af65435c8 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -2238,18 +2238,13 @@ static void __split_huge_pmd_locked(struct vm_area_struct *vma, pmd_t *pmd, entry = maybe_mkwrite(entry, vma); if (anon_exclusive) SetPageAnonExclusive(page + i); + if (!write) + entry = pte_wrprotect(entry); if (!young) entry = pte_mkold(entry); /* NOTE: this may set soft-dirty too on some archs */ if (dirty) entry = pte_mkdirty(entry); - /* - * NOTE: this needs to happen after pte_mkdirty, - * because some archs (sparc64, loongarch) could - * set hw write bit when mkdirty. - */ - if (!write) - entry = pte_wrprotect(entry); if (soft_dirty) entry = pte_mksoft_dirty(entry); if (uffd_wp) -- 2.39.2