From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D5AE2C36010 for ; Fri, 11 Apr 2025 06:47:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C6C46280179; Fri, 11 Apr 2025 02:47:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C18F728016E; Fri, 11 Apr 2025 02:47:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AE252280179; Fri, 11 Apr 2025 02:47:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 9321028016E for ; Fri, 11 Apr 2025 02:47:07 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id B8ADB5C725 for ; Fri, 11 Apr 2025 06:47:08 +0000 (UTC) X-FDA: 83320830936.16.994DD93 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by imf09.hostedemail.com (Postfix) with ESMTP id BFB1C140006 for ; Fri, 11 Apr 2025 06:47:06 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=MJOr0M1A; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of npiggin@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=npiggin@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744354026; a=rsa-sha256; cv=none; b=d2zQrD/8yLOR2OKWL/voOfFch7kcanyXhBoKg1baYfB3VqCB+WINcUf9lnMbonQeenI07V iGhvWJPaw4sTCSUAZkSP9ZAvR4DMeJtOMe8t3LOPfKUl/1iOAVL5M1pYIavxdbCBSXHrCl uMtKnB9IE0xttvW5HgXUunu2PvSpuW4= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=MJOr0M1A; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf09.hostedemail.com: domain of npiggin@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=npiggin@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744354026; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=BlT93k3tsOOzLmAYutjlNjX6BFvDuWnFmTQ9IJuMKl4=; b=mcYhxvRYrbvksk+Y46KHQmIDxfqfulblK9YolXuWP/GHCIoIlUUY9GXmynDpX+1xL3YFgb 8h/U9sxI5tTo4uxoD8aHvSo4rfWjdYjw7bjUhjOEyYD9ajF/lzxA4/MCLxy1tNjDeEmYnM m/bZdWgi9lp9VF+Ho0hrvMyQvMhD2MM= Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-225df540edcso28286405ad.0 for ; Thu, 10 Apr 2025 23:47:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744354025; x=1744958825; darn=kvack.org; h=in-reply-to:references:cc:to:from:subject:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=BlT93k3tsOOzLmAYutjlNjX6BFvDuWnFmTQ9IJuMKl4=; b=MJOr0M1AqQtAYSSZkfcg9+1dc6bPG8eeO/KOMSYMuBAZyF+H0z9w6rFKa/1P7j6MGT ng2FCngHDiaC7Bplk9t8v0kgrdEzsHN+dmMeL9yJAuqDlTSk/KLiyYmy5g3fUlKta6dh HcjRneGaDTQJY2jl8mSwwhAwz3EKa/iz1wuxZIYawHdee5ZXvnyxXJOHhe0OEPqns7xV 8Be9zvfuFpDUQfU+ShGWZe/CHmXWtnuA2NNyMJppsVThBCiTHUAzD72XJahveXp7VTDI vQ3kOwTWt8jIfPidcExaU4mt6rlHkecgHxZkaudnkJEhlwTyqaF1o/fR0cQ6zvFx57oQ h4lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744354025; x=1744958825; h=in-reply-to:references:cc:to:from:subject:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=BlT93k3tsOOzLmAYutjlNjX6BFvDuWnFmTQ9IJuMKl4=; b=oudoBQ6or/fW6VzvetGnGxevWZLAbrnYItwPpRm8izKJ4xzoTe19B4E+71JVPB/drP y3jDfYS7HenIs3T4GbPzRUNYCgKURONBjmQzHiOLn87mgzzO16Z1hM8OHih03Lfg13Xv 80mSBoO1Fm43H34oNinhAf0YFQX4kj5Yla5l7mi5WJuwhwifXNw0erWqVpMYASuH/cuN toDI7CuMp27w1ehRbYR85P0Ityaz5VyGCXlrlDAlcB+3UKIeJ19y+1E+OFNWOuUlrPeA /3bkb3NaFIroiPDMtmbhioUcTYiYj2+RaPeGS5L66v2f6gs4RF+gsM5BODKFgvkuYvSZ Fp5Q== X-Forwarded-Encrypted: i=1; AJvYcCXcTAWtEr6lBHGdJNiDe2NXWq1/7fIGEQIrOVPYqYLSGgUItqatniOLMPUNU6Rt+jgZzMRFvMesfA==@kvack.org X-Gm-Message-State: AOJu0YzKBUnRcZAMN+TzsHKHP2Cuz/jOAWRGBtHqxhlol+HCjWjljKKO SgY9zWqfR1JSmEnYTUU+xujCoHQZhHxE/gn/E2Lqjjt1C6Zttt7E X-Gm-Gg: ASbGncuUI9UyVfplNZUQeEKsNnMpeYkyj/acp0oFUJTuFNIjxVaUoyxRaAZBesCssKr d8AC1hW26kft63RMkeYYjvzkjV/gTv+A6uwx+eQRgEEkIxNFlV4t41svXZ4rhefMBgtwkdhmX5+ AMzw/t4g3SFUooLcLdiT1N+1B7APSXQNi7+C/YxMNLppoyVYp8oaI7zyx5a680+quaOUM9rv4k6 VRJdnK05p3/zxEN+OpCip7O1UpqMQwSwE0JyRyeJymKWFlAGCuB8qb7jUKC9wgfcKaUes8rxycg rpsFHQAIATkd8WBuLYV6qTPwdjtkdI/+VQ== X-Google-Smtp-Source: AGHT+IEaCH7pfyseCsY0ABQGUFfCNsdZ0JepyMppPzef2Ij2uLIjrUD7lNR1McifQnqxw6aLmm43tw== X-Received: by 2002:a17:902:d489:b0:215:58be:3349 with SMTP id d9443c01a7336-22bea05e17fmr25293145ad.14.1744354025413; Thu, 10 Apr 2025 23:47:05 -0700 (PDT) Received: from localhost ([220.253.99.94]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22ac7b8b2c1sm41872295ad.59.2025.04.10.23.47.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 10 Apr 2025 23:47:04 -0700 (PDT) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Fri, 11 Apr 2025 16:46:58 +1000 Message-Id: Subject: Re: [PATCH v1 2/4] mm: Cleanup apply_to_pte_range() routine From: "Nicholas Piggin" To: "Alexander Gordeev" , "Andrew Morton" , "Andrey Ryabinin" Cc: "Hugh Dickins" , "Guenter Roeck" , "Juergen Gross" , "Jeremy Fitzhardinge" , , , , , , , X-Mailer: aerc 0.19.0 References: <93102722541b1daf541fce9fb316a1a2614d8c86.1744037648.git.agordeev@linux.ibm.com> In-Reply-To: <93102722541b1daf541fce9fb316a1a2614d8c86.1744037648.git.agordeev@linux.ibm.com> X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: BFB1C140006 X-Stat-Signature: tnz1r5upzoupom574uy63ywa4sqw5oz3 X-HE-Tag: 1744354026-292485 X-HE-Meta: U2FsdGVkX19yK9zxc0hJtrep6yG/Y4WkTMbV6yQrQLR7+i2qx2TgIW7Lr8tzRiFb8Pw1+emm+qvEuKYAltaA45SU1NIgSzpp0naOSoLX2pBayKJHXXV0SXx06zL7AX76//0RRdNzZtxaOe1yQwLtEwGVLBCcFHvos5Tz7BeAq/5qKTAgpNK9soC2d4byYsg8FQUUveJRZaWLdnkW+VH89oZ+CZulqpwtFeMlcanN3GGUH2dB1hyuZEpb7LY9jJCiiMZlk4QmvjAcm1JPF5PWMPgOJThS19V0GDCkzwWCpo3N1xGsPxyR3L+6a436vlUGiI3c7PpA6XvafOb+7fdcBxgIhnxug+zyp8+lOPw4QpWM2CSvMY7RkSqOs4sfUYBkjep6N06k9HXI+k6yp7T4WxAj0hKqRZf702cU9kYlTa8GuVok3JuOlxoxI8ihzJ9/H8EgN3sUCRvH5MYMCiWa7i/by2Yx9rJu3wBwjszxyGxln8+fTmfMzUS+1l217HsH38JhfuJO7A2DeS3edETVjAOx56SxeHQCEXVBlQciXeL/lCoscIKEWYfTUYK8ZCN8YvodN+KEikMpdx5sCC9vpNX6qmInyACnP5W3g9SfsqY3FmpXF+J5axLdXNLQwSWZRNnZfNv8KQ2SzUz6dvFtb6Jl4ggyXXNPR6a0Q995tBB1sh4EMG8jjdUJnwkSkq11i7WWJxbIjfR5YZlxDGnopeAbYDi6EVW3dk+ffzaJOsZdjtYDimIJHTaxORuAzzd0geG3X3tM9qDuaX28yrNp0YlFM1018DPPrer3F+L7xLV2VQvlC71Ny2FEh/iEoSNbGxmQS8LkvjL4hgqi2MiYrjOg3x6UrfKqKZPkKNIiwjAkhQvXqCp+01Au1tm07rK0ZscQF+1FaJOTRvX6Fivv8JILSFYipvDYEmdZ0mg72dxypsEViFNnXCANvnGICqAWaLuIGvmQWmBVSm2j1Xa EtLtNTQU sUmHMniTulBQDCmbKz86LVNcq5fOTdrr3gMMC9Kea/NvzMpieqC4mHlNosZJlmtXeLVu1FBtsp9+vA0qGVqzg5mRC+409InyWh8VN5C8tq7/3rf1OKF0LczdBBuegH63bA5nMxD8DBGrd8xHx58bPucGjH+ITxk+wb3DnFXJRsJeYj7DpwHbc1HpdvKZiMaO7Hhz99Yto+WwAT3oKt+uhWjt+0iBcBcfmPXBqcdFbntrMklU8GwaMVqvO61hvE/Ep1EvZ499wyfAe+qMa/A0o6QJt4ofN+f4f1mmVjcloSmSBnX5WeQSH+Zw/zcJLzaSYHPcaJgar4u23h0qkvG1QlKIfDwlIUMfaUHlU3x2+ClpzJ7L/BTHea/yQxlXjjg7fjUB49gjU5cLLyqwnIYLe5191QM+c4D0zG8kVqrg7WUl1ZAUxqblBNBMh2L2zAHkCKZxeg7XjFj+mC9sQtCASXbZXk76lNXRbc4vG61VidaY6c2Em8ScsnQmWSnXWU6T6BzTLOzowuxSVNvon5zLElfJEEYTQmuraUciHKd+2Dr1wIwOMxgCB/jdzCWTfMPToD06XzoAyOsQ0pGzeEeH1vBNykWr02RcQj7wS X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue Apr 8, 2025 at 1:11 AM AEST, Alexander Gordeev wrote: > Reverse 'create' vs 'mm =3D=3D &init_mm' conditions and move > page table mask modification out of the atomic context. > > Signed-off-by: Alexander Gordeev > --- > mm/memory.c | 28 +++++++++++++++++----------- > 1 file changed, 17 insertions(+), 11 deletions(-) > > diff --git a/mm/memory.c b/mm/memory.c > index 2d8c265fc7d6..f0201c8ec1ce 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -2915,24 +2915,28 @@ static int apply_to_pte_range(struct mm_struct *m= m, pmd_t *pmd, > pte_fn_t fn, void *data, bool create, > pgtbl_mod_mask *mask) > { > + int err =3D create ? -ENOMEM : -EINVAL; Could you make this a new variable instead of reusing existing err? 'const int pte_err' or something? > pte_t *pte, *mapped_pte; > - int err =3D 0; > spinlock_t *ptl; > =20 > - if (create) { > - mapped_pte =3D pte =3D (mm =3D=3D &init_mm) ? > - pte_alloc_kernel_track(pmd, addr, mask) : > - pte_alloc_map_lock(mm, pmd, addr, &ptl); > + if (mm =3D=3D &init_mm) { > + if (create) > + pte =3D pte_alloc_kernel_track(pmd, addr, mask); > + else > + pte =3D pte_offset_kernel(pmd, addr); > if (!pte) > - return -ENOMEM; > + return err; > } else { > - mapped_pte =3D pte =3D (mm =3D=3D &init_mm) ? > - pte_offset_kernel(pmd, addr) : > - pte_offset_map_lock(mm, pmd, addr, &ptl); > + if (create) > + pte =3D pte_alloc_map_lock(mm, pmd, addr, &ptl); > + else > + pte =3D pte_offset_map_lock(mm, pmd, addr, &ptl); > if (!pte) > - return -EINVAL; > + return err; > + mapped_pte =3D pte; > } > =20 > + err =3D 0; > arch_enter_lazy_mmu_mode(); > =20 > if (fn) { > @@ -2944,12 +2948,14 @@ static int apply_to_pte_range(struct mm_struct *m= m, pmd_t *pmd, > } > } while (addr +=3D PAGE_SIZE, addr !=3D end); > } > - *mask |=3D PGTBL_PTE_MODIFIED; > =20 > arch_leave_lazy_mmu_mode(); > =20 > if (mm !=3D &init_mm) > pte_unmap_unlock(mapped_pte, ptl); > + > + *mask |=3D PGTBL_PTE_MODIFIED; This is done just because we might as well? Less work in critical section? Reviewed-by: Nicholas Piggin > + > return err; > } > =20