Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp2283704rwd; Wed, 17 May 2023 08:05:59 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6DOyhfOp2U/ENMvJLbxAsm38yYcsThlRyNqsU5MT3eWSKJUMwQOGViC89tjpX38JWpMnH3 X-Received: by 2002:a17:903:249:b0:1ae:3214:1629 with SMTP id j9-20020a170903024900b001ae32141629mr9030732plh.45.1684335958780; Wed, 17 May 2023 08:05:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684335958; cv=none; d=google.com; s=arc-20160816; b=p9VjdTtoJsDbNSRDXPfIiC6vXzOuAArM76MVYq0bKgjZeNXCS7fnIC7BTHcTKfz2LY EPPnNTGA50PGxNqy9M6kN5vUOPTDSSH9RqV9GRSoTnDzzZ59CZoLuJ+VcyzGanck9hY+ B0uCx7Ewc6g7rAVOURTX97dV644Juo+BWJHmJ+FEj0CccHIKOOng/NeENia3tTuNGe9C 2hggnU0RINYsOvWCfSBFxnIz7fYTW/45Q22zCxmd9MiCt0lCx7KIdJevduJDjMh2nDUX noU+2pYRiEYOOXaWV4Pe8HY3xaG5EpQYSebm7c9OX1etxaGT493IMoxZxHr1hmv0sDO6 qGxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id; bh=td9MkxkNf87qbPdhiiQuWtIT/WbGO8lv0aeODdr9VrU=; b=cT92jYv/bQSVZXJWQ/++xT86w120VFi5rBE89ulI9WLD61dTkC1l73dS2yElYBnoDf fLW5HxI/qIxpgG8BMvPBwgfZcnzj3U443h7M5ntdrkheLv3Z5USIL8CGKQ5DUr6Z+ESu +fB+/eejEQ6Jm7+jhQ6svexl4alwFw8q74OHDyTVgUQPsreBCvUSU2Kbetoto2Ex/kHs 0hwuPHrEdzW9BkMcg1nvI8AFC9qJeYrkTVIh6AbXB4MUt4iVWy9T1tfq7pk8FO3tr+gV i1wBK7zwxYfo+cOOSkRK7qEG1n3YSZfCfaKAoc94bbn2hU2ApnnrMt8Sdhw6X/0DdQEJ 9U4w== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z6-20020a170903018600b001ac2eae0714si23772500plg.358.2023.05.17.08.05.46; Wed, 17 May 2023 08:05:58 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231698AbjEQO6Q (ORCPT + 99 others); Wed, 17 May 2023 10:58:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51368 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229683AbjEQO6O (ORCPT ); Wed, 17 May 2023 10:58:14 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id A63618682 for ; Wed, 17 May 2023 07:58:09 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2B29E2F4; Wed, 17 May 2023 07:58:54 -0700 (PDT) Received: from [10.57.58.217] (unknown [10.57.58.217]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2FEA93F73F; Wed, 17 May 2023 07:58:06 -0700 (PDT) Message-ID: <59cb3075-3747-7478-58e2-534b00b5daec@arm.com> Date: Wed, 17 May 2023 15:58:04 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: [PATCH v3 2/3] mm: Call arch_swap_restore() from unuse_pte() Content-Language: en-GB To: Peter Collingbourne , Catalin Marinas Cc: =?UTF-8?B?UXVuLXdlaSBMaW4gKOael+e+pOW0tCk=?= , linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "surenb@google.com" , "david@redhat.com" , =?UTF-8?B?Q2hpbndlbiBDaGFuZyAo5by16Yym5paHKQ==?= , "kasan-dev@googlegroups.com" , =?UTF-8?B?S3Vhbi1ZaW5nIExlZSAo5p2O5Yag56mOKQ==?= , =?UTF-8?B?Q2FzcGVyIExpICjmnY7kuK3mpq4p?= , "gregkh@linuxfoundation.org" , vincenzo.frascino@arm.com, Alexandru Elisei , will@kernel.org, eugenis@google.com References: <20230517022115.3033604-1-pcc@google.com> <20230517022115.3033604-3-pcc@google.com> From: Steven Price In-Reply-To: <20230517022115.3033604-3-pcc@google.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-5.6 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE, URIBL_BLOCKED autolearn=ham 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 On 17/05/2023 03:21, Peter Collingbourne wrote: > We would like to move away from requiring architectures to restore > metadata from swap in the set_pte_at() implementation, as this is not only > error-prone but adds complexity to the arch-specific code. This requires > us to call arch_swap_restore() before calling swap_free() whenever pages > are restored from swap. We are currently doing so everywhere except in > unuse_pte(); do so there as well. > > Signed-off-by: Peter Collingbourne > Link: https://linux-review.googlesource.com/id/I68276653e612d64cde271ce1b5a99ae05d6bbc4f Reviewed-by: Steven Price > --- > mm/swapfile.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/mm/swapfile.c b/mm/swapfile.c > index 274bbf797480..e9843fadecd6 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -1794,6 +1794,13 @@ static int unuse_pte(struct vm_area_struct *vma, pmd_t *pmd, > goto setpte; > } > > + /* > + * Some architectures may have to restore extra metadata to the page > + * when reading from swap. This metadata may be indexed by swap entry > + * so this must be called before swap_free(). > + */ > + arch_swap_restore(entry, page_folio(page)); > + > /* See do_swap_page() */ > BUG_ON(!PageAnon(page) && PageMappedToDisk(page)); > BUG_ON(PageAnon(page) && PageAnonExclusive(page));