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 CA1D0C369A2 for ; Mon, 7 Apr 2025 15:11:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A1841280003; Mon, 7 Apr 2025 11:11:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9C6BF280004; Mon, 7 Apr 2025 11:11:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 52A20280005; Mon, 7 Apr 2025 11:11:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 1A4E2280003 for ; Mon, 7 Apr 2025 11:11:39 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id D7D97140AA5 for ; Mon, 7 Apr 2025 15:11:39 +0000 (UTC) X-FDA: 83307587118.04.4097AC8 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf12.hostedemail.com (Postfix) with ESMTP id 932B740018 for ; Mon, 7 Apr 2025 15:11:37 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=WOoAcnFv; spf=pass (imf12.hostedemail.com: domain of agordeev@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=agordeev@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744038697; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=OcNsdUXLajTS6Up4yb87KBBXCRng/iRPfXkDho493IU=; b=IrnocTBf6FbPnImL03Aj4h+NR5CtKoGI29iVkeEw2J5V/8enyJr7h6wVlkpC6iBk+w+h9f 6ZrqobmAFDEJ/jbaBVhSvdvonMkGlCz3QBsM7oHU9u9AxRdUqcejGYCQxRSQKs6irUQkeA sfabKbgKrk9P18Mg58srgv2AG70mol4= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=WOoAcnFv; spf=pass (imf12.hostedemail.com: domain of agordeev@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=agordeev@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744038697; a=rsa-sha256; cv=none; b=UWDbhvT/mPiRrEfQnfQIFxNRuqeH5bEUKiiaofdMQacdceDoyaI9rENKTAHrIELj62Mz7g GTQ8q0KJVB8ueQsLxeOt7KZgRMG5QtWxiKU9TF4XOBrb1qXdb6LywgWwpO5A6APxTwBMXO CqjTWzN9OeaOviWLQJwJ+kEvz0viqNQ= Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5378IrTc029651; Mon, 7 Apr 2025 15:11:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=OcNsdUXLajTS6Up4y b87KBBXCRng/iRPfXkDho493IU=; b=WOoAcnFvpuNxNEiTrGC3QZIq5o+jYBCOb LyLvBIz0pxghOpRjonhLcZeU5GpFEhaJUVrjW4lEjOfClydMsoxIlT1tdJfSYTrD w4ni3gxfKYkXD7bD8soBquTEt6UrKrs12uA2MgZo7ShPARvXziKp6H/vG/OR0j4l xZ01w6SQLYfrZApqIj7cCKLpACusgLuv8O/JsHOSLcLihXpk7kQfCZv5I8mWLAkI jB3Jm3YdqkahCDJoZ3Dg5tjezoL+c8gFXxALeoX8dMZALeFXSQU3kyz0vIaTpzdk 0hozKrK7Ar8LywsJy5kov8c0Zzsq4KVBjV6jp2caOQi+tFMaWRfCQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 45uwswvt35-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 07 Apr 2025 15:11:34 +0000 (GMT) Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 537F41Wv022508; Mon, 7 Apr 2025 15:11:33 GMT Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 45uwswvt30-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 07 Apr 2025 15:11:33 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 537DrCNJ011062; Mon, 7 Apr 2025 15:11:33 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 45uf7yege2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 07 Apr 2025 15:11:33 +0000 Received: from smtpav04.fra02v.mail.ibm.com (smtpav04.fra02v.mail.ibm.com [10.20.54.103]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 537FBVtw16122324 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 7 Apr 2025 15:11:31 GMT Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 10E992004E; Mon, 7 Apr 2025 15:11:31 +0000 (GMT) Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id EDA652004B; Mon, 7 Apr 2025 15:11:30 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by smtpav04.fra02v.mail.ibm.com (Postfix) with ESMTPS; Mon, 7 Apr 2025 15:11:30 +0000 (GMT) Received: by tuxmaker.boeblingen.de.ibm.com (Postfix, from userid 55669) id 823D8E15AF; Mon, 07 Apr 2025 17:11:30 +0200 (CEST) From: Alexander Gordeev To: Andrew Morton , Andrey Ryabinin Cc: Hugh Dickins , Nicholas Piggin , Guenter Roeck , Juergen Gross , Jeremy Fitzhardinge , linux-kernel@vger.kernel.org, linux-mm@kvack.org, kasan-dev@googlegroups.com, sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org Subject: [PATCH v1 2/4] mm: Cleanup apply_to_pte_range() routine Date: Mon, 7 Apr 2025 17:11:28 +0200 Message-ID: <93102722541b1daf541fce9fb316a1a2614d8c86.1744037648.git.agordeev@linux.ibm.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: ZjXrqfzVuI4O6PuB71DztWSnTeaDAz2F X-Proofpoint-ORIG-GUID: B8AxCnBSacob3HedwAwYgmrsIk7eP_GG X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-07_04,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxscore=0 bulkscore=0 mlxlogscore=912 spamscore=0 adultscore=0 clxscore=1011 phishscore=0 lowpriorityscore=0 impostorscore=0 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504070104 X-Rspamd-Queue-Id: 932B740018 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: 7g4a1rwhhacbo867zh5refhhewkeo3en X-HE-Tag: 1744038697-761267 X-HE-Meta: U2FsdGVkX1/kjhRjMxsFOMZemIDlTgJ/G2Hoilp0LoHBDWdCbZhkJl0mglbp2YmIQ3TS+YRmb3s1vd8Nn5Nu9pXT37oLd3wmXG2rjNcYgwQuGm7wWI5bDuw57JiZS7/j4emM/35aFZ7zQ553ne3mLe+ZGgDlA57C7kuMiBX12dpmz0ClXvpF1bcz35JMjDOjx7i4YOI8BMwN7/Au7CPVBLUAzbMzZk1q9iyWsz2uSyfGWmc3SlypOozcLPtiSY1xJY80Ct0D/5ni6expEdYMvJYVp/iTu2oIiGUa9ObHd2PELQ0Ms/I0gGrXuDj7Js0G3gGNQOq/Pzp+Ul1AscxEsYpfL/AkvXVKEU4sal76iWoPdbmFuCistslYJ30F7idUQhNIatprsx+7x7JJ8LKD7AewKvxHta66GJcsWuVvuQUainnq1fkn/vnZz7gqEzPlpDVZmsSZbCkTO3pKEwRhwrSnnb8vqrITc7JCIjzprCd54yjJ8OS0Ws5VolzkVffCh/y0ksooNA9gNyO9z5dEBHiuSdR2u9jbrJVHD90Wex7y3mUrfWBb+uoNv6KQcFiJRKed0RROcRLyo0qB+ISQHloaYT44cmqmifJr93+imhq32U7ZaL1IoT6ZmD81Ced3gHlt/ahtNWa54+J/w/5C7JzLx3uYaDH64U9tFmtFgnv3YJa2G2ek97gX9Oht9eM8ah9sXEpq+I3I68MPd9nVtp56Pvh9/m6PVQZxZ+sM6flfeAHcBpmkQ/eCMXkeD1GVKnFmZB7wXeHR+zmO1qMENEtPStIDBr6ZlgRvjP3m2jZLfof+Erqe+EZ/+A7N00b3N1KkL8YeK6mDQz7jxydC5YD5edtC2qdH4afiDqjcixIKxxiS9LD3Ue4kWA5IAQ+PtfUxa6ZH6yySPoSOq/kMzAiAG/QCrTJdtaFe3Uz9yrI9eio+Dc03swyjBqw0Lgdc6fkW7OgrY04S0dE8xtY cyi2oKF4 M3Xpars/k9VZsf+kz61Ynjvw4rtgAiHndwSic395tT0gBypWDIXQvDTcpS4UnHIUb5x9pOMspLaUzggb2DL0lEKLxa3pW7Id085STbrdvs/ulxdYMWfd2MEW76Kti/YlCBtt4HANtzXeStkj2IWuFM+svv71LXg6+Yq+fkqqOPLuBM0xpDY6+nYjAc+ycabmazBJd4pA8FCgwHoMIh5lF8SVg3bwdBQc89chmzpaSQtTQQ9D5ATn5GXDtnKb4tkwMmAkej7oBj/lIx9bvCmlwhWf5ixe+f3rX86cx2NxkdsSSNREN4lmsZUfXK47r9NRUcYUz 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: Reverse 'create' vs 'mm == &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 *mm, pmd_t *pmd, pte_fn_t fn, void *data, bool create, pgtbl_mod_mask *mask) { + int err = create ? -ENOMEM : -EINVAL; pte_t *pte, *mapped_pte; - int err = 0; spinlock_t *ptl; - if (create) { - mapped_pte = pte = (mm == &init_mm) ? - pte_alloc_kernel_track(pmd, addr, mask) : - pte_alloc_map_lock(mm, pmd, addr, &ptl); + if (mm == &init_mm) { + if (create) + pte = pte_alloc_kernel_track(pmd, addr, mask); + else + pte = pte_offset_kernel(pmd, addr); if (!pte) - return -ENOMEM; + return err; } else { - mapped_pte = pte = (mm == &init_mm) ? - pte_offset_kernel(pmd, addr) : - pte_offset_map_lock(mm, pmd, addr, &ptl); + if (create) + pte = pte_alloc_map_lock(mm, pmd, addr, &ptl); + else + pte = pte_offset_map_lock(mm, pmd, addr, &ptl); if (!pte) - return -EINVAL; + return err; + mapped_pte = pte; } + err = 0; arch_enter_lazy_mmu_mode(); if (fn) { @@ -2944,12 +2948,14 @@ static int apply_to_pte_range(struct mm_struct *mm, pmd_t *pmd, } } while (addr += PAGE_SIZE, addr != end); } - *mask |= PGTBL_PTE_MODIFIED; arch_leave_lazy_mmu_mode(); if (mm != &init_mm) pte_unmap_unlock(mapped_pte, ptl); + + *mask |= PGTBL_PTE_MODIFIED; + return err; } -- 2.45.2