Received: by 2002:a05:7412:b130:b0:e2:908c:2ebd with SMTP id az48csp784399rdb; Fri, 17 Nov 2023 12:37:21 -0800 (PST) X-Google-Smtp-Source: AGHT+IGcKSMhxZGUmnRbIuVKCWD+T33hhmqeyuBcoCTj0QTb0GDn7a0Awnk+sZK1cCZVBiVvLFpX X-Received: by 2002:a05:6a20:9187:b0:187:962d:746b with SMTP id v7-20020a056a20918700b00187962d746bmr239991pzd.9.1700253441244; Fri, 17 Nov 2023 12:37:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700253441; cv=none; d=google.com; s=arc-20160816; b=xrdHXn/P/QwC8B3zMoIPa7s/XmHKwtFzMbbD1jPpfxNYh8HrPCUHDeNeIvA3xKyKS7 sa5u+MNCWCkAySfmlira4q1r4RI6r4myh9khudZ8ShIbWsmewz4Hag3I2eNwhffH/iXo jgjCG0qO1/+Usv1oyZJlK/32sZr3dcS+WtlbdKLumhFGGdEo49RXggXB8WwTMarFohuo LwFFlYkQ+23P/uEC7x+I1p9xosy3atvUuZ0cVK6MMGdDT8orjdWMSpOuYLQc9/RDEo9W DfrGRHkELKxrqab1nIhC0eTroah4yL38hVjw9b7FdUoTw386OYX+r+EecdyZCOUK8SoO ZLuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=KzYXTXSYUx9/iqFjPtSq2xLz7NOgAnCJ2rvjt32VRgI=; fh=4bry4KRTDy4zER/vWNUqYVObOccoUYva/CpnJK2Yx6k=; b=LmnMYgIsQlCj5C1RpPLEyhO+dAn9v2lSsTjRPxl8tfe0DZzzI557fa2e18tT04Q3Hn rZSGkfQ4WrpNHOlMrL9zIvL+udgBw9os7svXopvaninRkCmI4vrlnDIaL1kE7xQELKwU gbj9O3I3TbRdvxaSyMb19MvdEvO+vkhStCxeZkjzU11ygNUY+Xk3S44H8cXCV5KT8gUi Z5rW7lUsmueRBnPdZTUK031S4916Ist77tZMD2yrq5jNSN1xfGAWDPljrOx5I/5iAgrp Zuk0iqcD9+v60SsnItyUpmz/tFvbdBIebTBmwzygi/C3oKHg7yPQAW45emmUWk4le/tV 4hTg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=CtCvTByq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id ka16-20020a056a00939000b006a15afe16adsi2646782pfb.258.2023.11.17.12.37.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Nov 2023 12:37:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=CtCvTByq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id B3477830F55C; Fri, 17 Nov 2023 12:37:18 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231533AbjKQUhA (ORCPT + 99 others); Fri, 17 Nov 2023 15:37:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58630 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229535AbjKQUg7 (ORCPT ); Fri, 17 Nov 2023 15:36:59 -0500 Received: from mail-vk1-xa2c.google.com (mail-vk1-xa2c.google.com [IPv6:2607:f8b0:4864:20::a2c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CCC39D6C for ; Fri, 17 Nov 2023 12:36:55 -0800 (PST) Received: by mail-vk1-xa2c.google.com with SMTP id 71dfb90a1353d-4ac1988ca66so1386628e0c.0 for ; Fri, 17 Nov 2023 12:36:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700253415; x=1700858215; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=KzYXTXSYUx9/iqFjPtSq2xLz7NOgAnCJ2rvjt32VRgI=; b=CtCvTByqEiwLhRejQNK2RXGNyodMfEf2xGtequwV0cnQ9gk5jILQP3KN1d3V0e2fyv yx2oF+m4bTErTeExajRZ5Vu6DG8c23t/JIyVaJ/0nEASlqaDehcaSlgEJnGV/mGMVJey Pv1EGvCxQbn7nNUplSx/jMkC1fLncm7zWeDH+vqzUvXCLaCPLPXv/QsdRLRYPeD1EgrD WY1lVIk9bgISJdM5IbX+SkIwVCYuni9v5TMrhWyo6N9AUhWgZD2YEuDWmXqtIG74hSDW dgnEuAb07/6soodwHwBWiDwC3r/fE9LpYLLFyLvP1D+1eprbGw6jNB+5NwremYedLkRg H6ZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700253415; x=1700858215; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KzYXTXSYUx9/iqFjPtSq2xLz7NOgAnCJ2rvjt32VRgI=; b=W1xPzer2C4SZHAR41lMdcypS0ogD2/sg1aBO9Nnq5ZgxxcngPY/g7qxI5yfNVemu6w no9uQNqBYvLFBi80+Ibi4Kjbp5VFu3C5ROYx5qGzLgOxeTS5c6Ae2zi+JJ+SOPeAgsA1 FmZpMvotyuEGJkCuAZCcNGsqc9zgA5COUbWK8u4h7rSE541lr+bXciq4MY2lTMkiH3OE G4gjqMA1Q32unF51OjzDpm6aBGlMZOQxb02Gp/lPJBYYfQ70rYi+p+SxRmHWcfKbT36A n+blag+s9M7XlEz4QeUVqSBnGg4ZkG+HUCTRKBPx9V4qxoikz9kxo8jUPy34ifjnXW0+ rC1g== X-Gm-Message-State: AOJu0YxOa0YZuzQuxEbMcq52E5QRs3SuKc1G8nB2Kmp7cP5DsfxN90kc ZX2ePLKUbRdEQE6xABcEc9GjdnkhqDV/mDsEISc= X-Received: by 2002:a1f:e442:0:b0:4ab:ebf3:e518 with SMTP id b63-20020a1fe442000000b004abebf3e518mr324396vkh.1.1700253414898; Fri, 17 Nov 2023 12:36:54 -0800 (PST) MIME-Version: 1.0 References: <20231114014313.67232-1-v-songbaohua@oppo.com> <864489b3-5d85-4145-b5bb-5d8a74b9b92d@redhat.com> In-Reply-To: From: Barry Song <21cnbao@gmail.com> Date: Sat, 18 Nov 2023 04:36:42 +0800 Message-ID: Subject: Re: [RFC V3 PATCH] arm64: mm: swap: save and restore mte tags for large folios To: Matthew Wilcox Cc: David Hildenbrand , steven.price@arm.com, akpm@linux-foundation.org, ryan.roberts@arm.com, catalin.marinas@arm.com, will@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, mhocko@suse.com, shy828301@gmail.com, v-songbaohua@oppo.com, wangkefeng.wang@huawei.com, xiang@kernel.org, ying.huang@intel.com, yuzhao@google.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Fri, 17 Nov 2023 12:37:18 -0800 (PST) On Sat, Nov 18, 2023 at 3:37=E2=80=AFAM Matthew Wilcox wrote: > > On Fri, Nov 17, 2023 at 07:47:00AM +0800, Barry Song wrote: > > This has been discussed. Steven, Ryan and I all don't think this is a g= ood > > option. in case we have a large folio with 16 basepages, as do_swap_pag= e > > can only map one base page for each page fault, that means we have > > to restore 16(tags we restore in each page fault) * 16(the times of pag= e faults) > > for this large folio. > > That doesn't seem all that hard to fix? Call set_ptes() instead of > set_pte_at(). The biggest thing, I guess, is making sure that all > the PTEs you're going to set up are still pte_none(). I guess you mean all are still swap entries in ptes. some risks I can see 1. vma might be splitted after folios added into swapcache, for example unmap or mprotect a part of large folios from userspace 2. vma is not splitted, but some basepages are MADV_DONTNEED within the folios. 3. basepages in the large folio might become having different permissions on R/W/X. for example, if a large folio has 16 basepages, as userspace is still working at 4kb, userspace can mprotect RD_ONLY for a part of them, in this case, 16PTEs will still be swap entries, but the re-use for write fault can't work at folio granularity. I need to consider all the above DoubleMap/split risks rather than simply checking PTEs as userspace is still 4KB. > Thanks Barry