Received: by 2002:a05:7208:c24f:b0:81:d631:dc8 with SMTP id w15csp397590rbd; Thu, 4 Apr 2024 12:32:31 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVQ4yFE52sspTYZagf9ceZI38Teua8UM3V2GMDQY4GLB3AE7nKQ5T4akwhtXxStJYp8v2zIzCEaxFENd05lWTkd/giTdD1nwY9EpQOpQg== X-Google-Smtp-Source: AGHT+IEgYT2/lB/x+n9y6h9QrMMkqnIoNbDKRTC8y4j3VNjZ1oYR42/86hbB5926MwvbXBzvoKk9 X-Received: by 2002:a17:90b:3886:b0:2a2:61c4:b82a with SMTP id mu6-20020a17090b388600b002a261c4b82amr3327373pjb.44.1712259150834; Thu, 04 Apr 2024 12:32:30 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712259150; cv=pass; d=google.com; s=arc-20160816; b=Y+IqK7Om2Zfnj/qE2NyW8yMiL/FmzSFiTqyM2f/Q/XJBP4g67864/n62NNem91FOhG ZtIzFXCUm6XvE6UN6+lcVFNaznldQHeUwja45ULJYIh2DY5DJH0j3Xe6b+WxJYjHb3Kv NuEqoqWo9YHHmhRI563f9yZ1+j8Ud6ePabaPeAUL11ZyvNyRNMgRMLyk83a9ISmsS/na B8o0eczwJ9b3BDZUtvay8TZJZPiPm5XX50R2ywQoqQv3BlUXsPQKSR4OJmnu/RaDxoNw PCLzuAcqrt2+2KdpdTVfEl0G0/FTa95rPxkPI+IF5Yahr0zUUf4mmh14lIJCHei6A0xr guzQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=1QF7YfDkyhTCu/FPW6+EBtGcxT+kvR7RnrsjI6gQgsU=; fh=9hr0Cuk5MnhTMRun2MbHvuJc7jNu0YNVz9pzg6j88b8=; b=FswssA8CShcjRkjfxYQCVqJG73ik5cpXHn6PgekogmZm4oMGp9HvbEC/kQEhmod+iI GM7Tv3+ms71/4+3rLAIKnzQ6Nt5yVvF48kkOVlIKiDFSqpXIhL8eO/XWwQkPj5RT8JOS sKEijy9hlMO6vzsCS/ZKFo1+VyjVCEcz/dRcUes6sw/R3rlxslC+AbeviMESXsjh9Gf6 i19MzLNR0evJSjZ76H0ripsCuXmuupaZan8JhHcxufH2Lc64CJsBnvOPgtPFY8/8h0p+ 1C6g5FA2aHln39Jlezp6wJ0oH11MbK7jyWoGbxvGr4t5SEItDhlSgO9J3Nc0i+anb08Z fbrg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=nCeoZWVo; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-132044-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-132044-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id em21-20020a17090b015500b002a27ba3b17fsi91911pjb.83.2024.04.04.12.32.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Apr 2024 12:32:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-132044-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=nCeoZWVo; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-132044-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-132044-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 8B084291A91 for ; Thu, 4 Apr 2024 19:32:30 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 05F6613440C; Thu, 4 Apr 2024 19:32:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="nCeoZWVo" Received: from mail-yb1-f178.google.com (mail-yb1-f178.google.com [209.85.219.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C155A12FF9D for ; Thu, 4 Apr 2024 19:32:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712259144; cv=none; b=aeM0eJix8dzFPPEt38vVboF2orJo2xdXS4jFfw4SV4h5IifRANmIennGtaP5llEOjAmFc6lO0R87+RXEiPgVHO4uFthBTS05unSXV/8lYRWrQrshpCTfWFr5wzrAK930b4ezrzYT3rKrV7OStLhBiSUpb0r89YihnAd3AWKPJpQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712259144; c=relaxed/simple; bh=gsVcKtDkUNveOcQR3OkOOH5GwGE5htKXDxs/MtGdyjM=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=WBxqCDybBtMedQtsgkK37AVx16wejKqCY1DpASOx4/7I97sacsvgdgGW2piyI2ruZtqx3UwTbT+BjSQvbISFRcvjpjeCC0i6SkDOaS3+OnwabHPzgOqeYD7CZTHBE/Jp1GDzkpF8pnqAY9AeRQkyFrReZNyYBdWL1e+5odKklOI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=nCeoZWVo; arc=none smtp.client-ip=209.85.219.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-yb1-f178.google.com with SMTP id 3f1490d57ef6-dcbcea9c261so1603025276.3 for ; Thu, 04 Apr 2024 12:32:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712259142; x=1712863942; 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=1QF7YfDkyhTCu/FPW6+EBtGcxT+kvR7RnrsjI6gQgsU=; b=nCeoZWVoWA8RLbHUFsuDYA20rSn/xMYE8jHn4EIsPIM5BsqqtZGQZMBH9UBGrtu9OH pt8xyF9P2CU8h7jGTnwDK3wIg1lb8R2467a0cfXqZExj6jW4jwp9Ydx7ap95bhj2IhDQ VDYSks6ClLyiCj0jMMdke5L2A9TikiO081SbQ7qEgYMNiwestDyvFQ8loD8ymoVBtWS8 ReXyGW9LvtMcVy5JDbgjlyxkMrfbYUoNPqHV0RJ7/lzw05FliBAsdCS8QRqw8IHDhNUT p5UQ9PR0bkVqZHvHaUo7hUaXo3YGl0hpDRAMMdZAHJcYJqKdhBpcivavTwgrfmo2ow0Q 1m+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712259142; x=1712863942; 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=1QF7YfDkyhTCu/FPW6+EBtGcxT+kvR7RnrsjI6gQgsU=; b=dXXNad8JTwrejtxRHTqILpW64Ewgv5C9fXZKrer7iYRVjiKBxTQbZ6Su8tgiFdEKTE 3qM3KTIMbsmOfYnxPHluIWVy/Xgi+t9GgT6fwSzby+OrikdwU5tM0rSBx2vjkHpu8Joq P3pNNOKZkcNx47tBtXTjwcopnhFuVuoUaLNS3utlWeexgl4Pv5mw4ey1PQEj6jOPQpAg mmsLSaysnztfyozAtnabHonN+VRp/vBywnmCQVL9x3T5ZfTXhXHa6kdpq6RVpfNzhpiG HD5x8fK6s6+/nxuAB2eh44RAiBEUvNSa5cdBEosfQv30qvF7gIqXVEeT4eJT39ywjYuB yLUQ== X-Forwarded-Encrypted: i=1; AJvYcCW4hDEEZkZRgWadpwG0r1w4wo8zeAgF0E7ObUYJQh0gcYldtqBBgOpQwba2Rmhib5iOLTJUBlW8oCfkHqsx6io5numhLXwwXRUYEEX4 X-Gm-Message-State: AOJu0YxPAUgTRqxd/yh41UQi0nnd0Kyl88qKNLx3rfrASci4Xe2+HOsE ZIYdJZQu561P8V8v6ySqtZY6WSWZsMOpB2VZcmkQA7tImB8sdKpOZMAR/d5dF6zofTLbGd2RTnW UjUdh7k6p5NEmwzoWeDWFFQaNJ6UXawOj X-Received: by 2002:a25:8b81:0:b0:dcc:7131:ad4a with SMTP id j1-20020a258b81000000b00dcc7131ad4amr2943771ybl.62.1712259141645; Thu, 04 Apr 2024 12:32:21 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240401202651.31440-1-vishal.moola@gmail.com> <20240401202651.31440-2-vishal.moola@gmail.com> In-Reply-To: From: Vishal Moola Date: Thu, 4 Apr 2024 12:32:11 -0700 Message-ID: Subject: Re: [PATCH v2 1/3] hugetlb: Convert hugetlb_fault() to use struct vm_fault To: Oscar Salvador Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, muchun.song@linux.dev, willy@infradead.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Apr 4, 2024 at 5:26=E2=80=AFAM Oscar Salvador w= rote: > > On Mon, Apr 01, 2024 at 01:26:49PM -0700, Vishal Moola (Oracle) wrote: > > Now that hugetlb_fault() has a vm_fault available for fault tracking, u= se > > it throughout. This cleans up the code by removing 2 variables, and > > prepares hugetlb_fault() to take in a struct vm_fault argument. > > > > Signed-off-by: Vishal Moola (Oracle) > > Reviewed-by: Oscar Salvador > > A question below: > > > mm/hugetlb.c | 84 +++++++++++++++++++++++++--------------------------- > > 1 file changed, 41 insertions(+), 43 deletions(-) > > > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > > index 8267e221ca5d..360b82374a89 100644 > > --- a/mm/hugetlb.c > > +++ b/mm/hugetlb.c > ... > > /* > > - * entry could be a migration/hwpoison entry at this point, so th= is > > - * check prevents the kernel from going below assuming that we ha= ve > > - * an active hugepage in pagecache. This goto expects the 2nd pag= e > > - * fault, and is_hugetlb_entry_(migration|hwpoisoned) check will > > - * properly handle it. > > + * vmf.orig_pte could be a migration/hwpoison vmf.orig_pte at thi= s > > "vmf.orig_pte could be a migration/hwpoison entry at ..." > > > - entry =3D pte_mkyoung(entry); > > - if (huge_ptep_set_access_flags(vma, haddr, ptep, entry, > > + vmf.orig_pte =3D pte_mkyoung(vmf.orig_pte); > > + if (huge_ptep_set_access_flags(vma, vmf.address, vmf.pte, vmf.ori= g_pte, > > flags & FAULT_FLAG_WRITE)= ) > > Would it make sense to teach huge_ptep_set_access_flags/set_huge_pte_at()= to use > vm_fault struct as well? All info we are passing is stored there. > Maybe it is not worth the trouble though, just asking. Yeah, it makes sense. There are actually many function calls in the hugetlb_fault() and __handle_mm_fault() pathways that could make use of vm_fault to clean up the stack. It's not particularly complicated either, aside from reorganizing some variables for every implementation of each function. I'm not really sure if it's worth dedicated effort and churn though (at least I'm not focused on that for now).