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 65FB1C3DA4B for ; Tue, 16 Jul 2024 01:34:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E5E326B0089; Mon, 15 Jul 2024 21:34:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DE7D16B008A; Mon, 15 Jul 2024 21:34:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CAFDA6B008C; Mon, 15 Jul 2024 21:34:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id AB3186B0089 for ; Mon, 15 Jul 2024 21:34:41 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 5AB23801D2 for ; Tue, 16 Jul 2024 01:34:41 +0000 (UTC) X-FDA: 82343896362.19.B39DECD Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) by imf21.hostedemail.com (Postfix) with ESMTP id 7E8F91C0006 for ; Tue, 16 Jul 2024 01:34:39 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=T0tAXeQ5; spf=pass (imf21.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.44 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1721093650; 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=sXfhOlmNPMcE/iXHOq1+rPCI914TK0b97GVcZ8iZpkQ=; b=LgpSrrBctkGOmJrYHYJORx9+d8412aM+WrGgPemLF8reWx+qlYwPNGwEw1ev52wSrtlACc m6lJrX+Rpxvy5r2BovVbZZXcakOPXOPN2RH7cDkjWkDugRKE7Bp8rQfgh+f3wwPT6Mthsg 3wlI2C69c1721MkyUgVKXirdl6iaeJc= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=T0tAXeQ5; spf=pass (imf21.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.44 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1721093650; a=rsa-sha256; cv=none; b=1NKEzP15EZk9DlNmBa9YBgKfcS51pnzj6oV/CFcUGuaWBbbOpv9b+B7luWIqR+9izX2rIg Ltn4Kt0X3GDKYlpJEIfLY41YX0W8+tV+gul7MighQ448NZFTUfuZO2dPC64LaTYX0keTxA wsqGCoyc62DLCH5WsbZKDrPyEcyhqgM= Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-a797c62565aso529343466b.2 for ; Mon, 15 Jul 2024 18:34:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1721093678; x=1721698478; darn=kvack.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=sXfhOlmNPMcE/iXHOq1+rPCI914TK0b97GVcZ8iZpkQ=; b=T0tAXeQ5wyBjQ5keT5l+VxfcTes30mvq32JC//2qPfM7zCWpIkXsVTgygEFDTyDpAN X+tGKYNukK2BJ36YZIBtDxcjkHjSCKw26PHtwpQuknjALL4whGiwBZ6jU0mTEbNZ0FzI IiIz73TOtBFQVufxwCyq2YvS0TpOx5eZ+UEEj1g6XtTiCFisH95J+KQKxOSpSvlp3yzS pYutcSOxJVQvhLCrxCSWHdk19yQo6Aj5L6axrJxyeNIA/eMoLlcxALW1lXSLp8Gg75e/ 6BSsnhaFXVWd158Yomto7QuPf9Y+3nc688eNiIp1o0OszQSnSzKNg8tUvcmQxhp/2eGa VvaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721093678; x=1721698478; 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=sXfhOlmNPMcE/iXHOq1+rPCI914TK0b97GVcZ8iZpkQ=; b=pEXJkRGNos/qf/ddvKGu4qAqeSCajkK2C/DOg2GsQ3vfCnEKNbthNeEayODjcmX4o8 xtrT0jYO3S2RJts/glmwUZFp0s6AL5BE8j/3xMDFMqcRDGYY/Yvv158o1jv+zzfWgWMP aJH1oM18CEIn20folHVNFOS8AfRkR+gaUhY9k/BvipH508Oxm4jzeBnZVySyy9z7YeJF 9kdhBJZYmd4Xx9JmAU9hrHnTToYM+IoOH0jl/OQFxmQ6tlDpjCQd6nWXz1S1KYD4g1iS 2n5JvANscchVdWBkGGnq5USjtN1VfEs+eE2TYveFuww/HYYnqFknE3lyMiEjwbYeAKcd BGzg== X-Forwarded-Encrypted: i=1; AJvYcCWuhsp59Zp5p1/T5fvyT4EXB5DYDeVNRTckdcXoym5onVGofh8KYjx/2JKC9ue8QJF4bgOoyOWayWkoNFmv2vuKY4U= X-Gm-Message-State: AOJu0Yx3stTEbXjc4ZKl1Ecl7kaFil3Ap7DYcV9HqwA3UF+UJ/S+8mTo q9fiOpN+14BUdIRjytFVl4WvMG66JPcgvTC5i5i43sCUJYutDuqij8gSgtVzvNT7yLQzO+HYWR3 g6esTq6iTe5mkQYz+set3LeLWUFB5idGzdIkC X-Google-Smtp-Source: AGHT+IHDGZRC35aGLULhbOJd3eQkgf6eopZKOzx2Fx4/dz86aNy8ewBdPze4qEdLeNlnVLuHqesq6uBet9ZLg+DyXPw= X-Received: by 2002:a17:906:b358:b0:a72:6f10:52da with SMTP id a640c23a62f3a-a79eaa9dcafmr30419866b.59.1721093677189; Mon, 15 Jul 2024 18:34:37 -0700 (PDT) MIME-Version: 1.0 References: <20240712-asi-rfc-24-v1-0-144b319a40d8@google.com> <20240712-asi-rfc-24-v1-19-144b319a40d8@google.com> In-Reply-To: <20240712-asi-rfc-24-v1-19-144b319a40d8@google.com> From: Yosry Ahmed Date: Mon, 15 Jul 2024 18:33:59 -0700 Message-ID: Subject: Re: [PATCH 19/26] percpu: clean up all mappings when pcpu_map_pages() fails To: Brendan Jackman Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Andy Lutomirski , Peter Zijlstra , Sean Christopherson , Paolo Bonzini , Alexandre Chartre , Liran Alon , Jan Setje-Eilers , Catalin Marinas , Will Deacon , Mark Rutland , Andrew Morton , Mel Gorman , Lorenzo Stoakes , David Hildenbrand , Vlastimil Babka , Michal Hocko , Khalid Aziz , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Valentin Schneider , Paul Turner , Reiji Watanabe , Junaid Shahid , Ofir Weisse , Patrick Bellasi , KP Singh , Alexandra Sandulescu , Matteo Rizzo , Jann Horn , x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kvm@vger.kernel.org, Dennis Zhou Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: stuyhwpaiy3ik68kj1rh5hr6ap1qsyjh X-Rspam-User: X-Rspamd-Queue-Id: 7E8F91C0006 X-Rspamd-Server: rspam02 X-HE-Tag: 1721093679-286236 X-HE-Meta: U2FsdGVkX19S27Zr6XJ68Yd4SjJMw1U5YYhnR676/fxfYcg5xVmlsZmdiq1cFW+9AWz0/VuYMcPwMwfC4/xSRq3wnj1cHRQE3O9E2bM8CX2wasfM55tR9atDcOv4JLYCyxv/QVIahHNnQy3kiXQ9THp61vaUGD1fMvwqfMFWaX7PqBDvNHwoRm40M10S6lm3iVhwRJ4Hmuxhrclc0tNbgIBKmZ4E+KpLCB2oQc/HWV+PHbyeAUTEP5rND6jmTwtZ+8Q8AAwG8ZIudu29yAGYZqrIjAPGgd2YBaEaUza5/zSiVKkB4zgmr2MU8NG0WlVF9/er7JqSRx3wCceCXvj/duzJLKgU9iWXBbj3adnx35ieGJiQJdQxZVEfZBfL+pk4bcCt/XCTmvZPKRCjhhZYIg5KYVx9uv5VX3lFYGIAjYBu61MbZXHT8Ju7QnJY5j4clf8ftLjnr/5PFZAMSvQ8hkihAC2XZbgEKR3I92tg4IGEQRRZbcxoay60pxDriuDltchuGwnsUmbKuom7BnIrrhm1DzwsqciMdkcBSagWh5MW6+IxTc/V9Wslig3cnjzGWAbDptw2Dyh59VW3cZ6aSZSgRDXzyoa+ZN+z36n8tmGzMOK5t3TNgjfOQKrkX/J+yb/biLYEpx7w5xY1xpHvksL/ZcWejYNipKbEw5AZX7WFvy2yqbxXVWTHaQ1YXa9KDIc88IQXiKIZbVGxp+Hb6HHHC/WQ2v071lX5vOjkifvNArrw0NXvniNZnKMbcplI9gTFgPHuWcunknIgCO8zOM8fBdxqmyDu8AbXVX6GkjFdxkA7yyD7Wt12Omm7/Og3FmyYVCE7kKapGJWpDLvWNDDgcLfLReS7dCty4tnqfS8pSu7fWFK4qCtd7/lb96Rj0NJ66eZ8wSWEF2Q6uUmkGiREPyWrbohzACnWkGsa5xwJo1tOtZ+N4ZXKuYVPnclZe/lCg3Ca+4//OTDgzou 0cEsKDfw 821gAy1UqHsTaa/TTXa6k+OTwL3sbb7ANKFdfoZUygUxtwJoRjseglTDoOKzJP+wmt9g7IB71s3u2NS7+Pe+/PA6yjrU1XgVeX2MUOR8Lc/sj0gRn+fRrTGZfNmYiFP0/jOuWF3AMbT89xqMZtteH2qLZ6XgKbzsiSlxTdbZ0CGc1BgjcN4Qa8Me7pzKdnvDtLF97wKhzx+/77DAvoVdaOZmGshx/hJ6zu9T0z2fOAzEmIDmywsC1K5pxOl+x1VDWrcfHpBJZphaQHIby8wOu8Dx/LAM/NcoFQSlaWPCJNAD88SI= 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 Fri, Jul 12, 2024 at 10:01=E2=80=AFAM Brendan Jackman wrote: > > From: Yosry Ahmed > > In pcpu_map_pages(), if __pcpu_map_pages() fails on a CPU, we call > __pcpu_unmap_pages() to clean up mappings on all CPUs where mappings > were created, but not on the CPU where __pcpu_map_pages() fails. > > __pcpu_map_pages() and __pcpu_unmap_pages() are wrappers around > vmap_pages_range_noflush() and vunmap_range_noflush(). All other callers > of vmap_pages_range_noflush() call vunmap_range_noflush() when mapping > fails, except pcpu_map_pages(). The reason could be that partial > mappings may be left behind from a failed mapping attempt. > > Call __pcpu_unmap_pages() for the failed CPU as well in > pcpu_map_pages(). > > This was found by code inspection, no failures or bugs were observed. > > Signed-off-by: Yosry Ahmed > Acked-by: Dennis Zhou > > (am from https://lore.kernel.org/lkml/20240311194346.2291333-1-yosryahmed= @google.com/) This went into v6.10 as commit 2ccd48ce35e87f09472b42dda96fbf7b5165f3c3. > --- > mm/percpu-vm.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/percpu-vm.c b/mm/percpu-vm.c > index 2054c9213c43..cd69caf6aa8d 100644 > --- a/mm/percpu-vm.c > +++ b/mm/percpu-vm.c > @@ -231,10 +231,10 @@ static int pcpu_map_pages(struct pcpu_chunk *chunk, > return 0; > err: > for_each_possible_cpu(tcpu) { > - if (tcpu =3D=3D cpu) > - break; > __pcpu_unmap_pages(pcpu_chunk_addr(chunk, tcpu, page_star= t), > page_end - page_start); > + if (tcpu =3D=3D cpu) > + break; > } > pcpu_post_unmap_tlb_flush(chunk, page_start, page_end); > return err; > > -- > 2.45.2.993.g49e7a77208-goog >