Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp994398pxj; Tue, 18 May 2021 19:16:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJywQajwIEmi+f40CbF5CqMooq6YeapJHyvmdHAQDS2wbG9yWhxzfSREGGKrnH8Vs7CYLD+Y X-Received: by 2002:a17:907:7848:: with SMTP id lb8mr9546933ejc.494.1621390601323; Tue, 18 May 2021 19:16:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621390601; cv=none; d=google.com; s=arc-20160816; b=ISbEdTtWeG/8VPodT3eRVK0qJVefFVSYuDRxSBBylEtoX8euJN2PvtiReLpXPIfCoM GF0C+sy8Xo2NWfg3Vy1JYNuIA/o4BUIrh/52+UmKBhN7O1n+pqS0506tUJmdM4AsutMJ WV8WUZ2i4NFfuklPtvDxHbNI/USD7m26bGtu8SiK/exKXhwgYOsBCsMDrEafKBXVFzJq vSxJadt9BD/EamKGdu3lC0M941RCsj3ap/tCbA63RkNcxqRo5SAlkacaeAzQo2egKDME 0v3Ml2AeFr92sQCHVGRD0t1qnZPhDL4TIKRQUYgsGIq/7z5aqMoucbtNksUcsojIway/ NDaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=PULfJfJ5qOKU+8g4uSUAsIkjuQOIRxgWrBAdTdPI+Uk=; b=paQA+Q73Fp6tx4MsMN07Idcwo228m6T/YG6G7y5oWoAcAV4znsPywPL3dkt8j6qera TQV/ZVIRJYje+xiXfE8pmBn1f8xcz0FI29tzT/FJNFoSYN0WVkMb54jLHGcrVHKykemo RB25UUA4l3LVMwoaN5WQ0fnlogTFjWYDNde2USo8gYcyeOUpAssS6tazK1G6aIbOD1Yu uOafEIcZeDVfN/akkNrp61tBhu10JEonysf/RhVlwDzM0fduqSuiMw817pBplzCaMrMS sZInR+jnWb6ShEfuzQoyIZWtTmwKpz9xMfid8UEaGG/e9ik/bR8K8FZfj/D0UsrcvFTb Hd3g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="EhQR8/b8"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u9si11559554ejk.201.2021.05.18.19.16.17; Tue, 18 May 2021 19:16:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="EhQR8/b8"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234951AbhEQTlc (ORCPT + 99 others); Mon, 17 May 2021 15:41:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54468 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234925AbhEQTlT (ORCPT ); Mon, 17 May 2021 15:41:19 -0400 Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 55952C061573; Mon, 17 May 2021 12:40:02 -0700 (PDT) Received: by mail-ej1-x62a.google.com with SMTP id k10so10900722ejj.8; Mon, 17 May 2021 12:40:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=PULfJfJ5qOKU+8g4uSUAsIkjuQOIRxgWrBAdTdPI+Uk=; b=EhQR8/b83ck5P+6wYArlBXOyeYwBcawOfYl3SE4koUo01Qv3x6aD3I8dfoh6E5wNqE VT1EFIuhzab49ldRdl+//elcb/j1fZ4RlFZf3Fn7dPiq6JAnuKK4brdgHlFpNDiR+ltz W1uI9nqHSdF0CT2sdXz9P8hYHVNFEPrJPnlNh/SE6S9Ysk3CXQMQy4J3OIYrAfkWlXSW tl84LyfrfgNTvo9Ws7lyGKaqKEHOc/PIWgKIGWLgkUp+EGPpbTRJ9PGot5HuojNqSn+j cEdQOWOi3iZMbULIx9AgmU8RYMx+GnEpR2EbQORUaHaQjlWX0jx+CdOjKC8eVSrrmO+h ivNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=PULfJfJ5qOKU+8g4uSUAsIkjuQOIRxgWrBAdTdPI+Uk=; b=DsgDVBh/wAiJ9HciW3Zeldidk5tEK9U+EdepIDFpustn6D4Nxy9LPL4Vyr3qjeiOfx TlEUJijIrTxDlrq+ySAigvAO6QwBlQhucdeUU7uLasl+OsjhvIP+f0BY3Sma3gnzzcNN n+1aSk2K/rEgzF8Dl/Q6qJLpyLFxh8AtGzzPNiXQDjysbz0HZrl+ZOqc4zwdA0k8PljO bF7r6D1wB/m+2+UtvdJc6B4XSLzqwj6pEZbPOKULJnJjK47eVy6QOFuSjJj7KWVdM/0w tCVpeP2mu0gY9dGinpqIKNLefkbh5YIcMoxGbFqaR+hsPrdbcIcgDenMr3GVWpiNdrME GA7A== X-Gm-Message-State: AOAM532o0qf76NyNKOs349sM3DdTNngUlfsQj56oaBVLKIsGI4DjVwpD H7oiMDam40YxwzONY0JzsSkpQecw+5ZtiE/QqA0= X-Received: by 2002:a17:906:11c8:: with SMTP id o8mr1542940eja.499.1621280401126; Mon, 17 May 2021 12:40:01 -0700 (PDT) MIME-Version: 1.0 References: <20210413212416.3273-1-shy828301@gmail.com> <20210413212416.3273-2-shy828301@gmail.com> <20210517150922.GU3672@suse.de> In-Reply-To: <20210517150922.GU3672@suse.de> From: Yang Shi Date: Mon, 17 May 2021 12:39:49 -0700 Message-ID: Subject: Re: [v2 PATCH 1/7] mm: memory: add orig_pmd to struct vm_fault To: Mel Gorman Cc: "Kirill A. Shutemov" , Zi Yan , Michal Hocko , Huang Ying , Hugh Dickins , Gerald Schaefer , hca@linux.ibm.com, gor@linux.ibm.com, borntraeger@de.ibm.com, Andrew Morton , Linux MM , linux-s390@vger.kernel.org, Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 17, 2021 at 8:09 AM Mel Gorman wrote: > > On Tue, Apr 13, 2021 at 02:24:10PM -0700, Yang Shi wrote: > > Add orig_pmd to struct vm_fault so the "orig_pmd" parameter used by huge page > > fault could be removed, just like its PTE counterpart does. > > > > Signed-off-by: Yang Shi > > > > > > > > diff --git a/include/linux/mm.h b/include/linux/mm.h > > index 25b9041f9925..9c5856f8cc81 100644 > > --- a/include/linux/mm.h > > +++ b/include/linux/mm.h > > @@ -547,6 +547,9 @@ struct vm_fault { > > * the 'address' > > */ > > pte_t orig_pte; /* Value of PTE at the time of fault */ > > + pmd_t orig_pmd; /* Value of PMD at the time of fault, > > + * used by PMD fault only. > > + */ > > > > struct page *cow_page; /* Page handler may use for COW fault */ > > struct page *page; /* ->fault handlers should return a > > Could this be a union? Do you mean orig_pte and orig_pmd, or cow_page and page? I think orig_pte and orig_pmd could be union, I don't see that they are used at the same time from vm_fault. But cow_page and page can't since do_cow_fault() needs copy data from page to cow_page. > > -- > Mel Gorman > SUSE Labs