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 78ECDC4828D for ; Wed, 7 Feb 2024 21:10:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 09B2C6B0089; Wed, 7 Feb 2024 16:10:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 04B5D6B008C; Wed, 7 Feb 2024 16:10:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E7C946B0093; Wed, 7 Feb 2024 16:10:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id D56A96B0089 for ; Wed, 7 Feb 2024 16:10:12 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 89ECBC0A3A for ; Wed, 7 Feb 2024 21:10:12 +0000 (UTC) X-FDA: 81766250664.15.9763EB9 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by imf10.hostedemail.com (Postfix) with ESMTP id 8A94AC0019 for ; Wed, 7 Feb 2024 21:10:10 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=DKqeBBEM; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=lstoakes@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707340210; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=yzIBAmAbkaokxoBuvoEHsMoxUHI/JNBVtHeWulJmQgI=; b=SEeWv+69y4tc5wiSsum2gDtFhe1jWauhxSnS7acnOZ4mOgA8YwfVzTix+M300h1diH4qP4 oJfdSne/psuq2sVnDJB3gQRY4dC8eNfQpoKXTxSfYDYTuaDfJjxoL0LdawYZlseOSXnYnu 9sX/z4nJs3LhHkRK0DCnVTxjsrRN8bM= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=DKqeBBEM; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.221.47 as permitted sender) smtp.mailfrom=lstoakes@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707340210; a=rsa-sha256; cv=none; b=ezTA5m5U3aCR0jbKhGqnfGfeWF02qXobgjLkoYxm2vUqKjKNX77alYHevjorfqJWqFL14x O3/00Dzq/e4/85k9apkXqnNnnVXYJ8My6BzJGoLktl/KuqJqXcZI1xEy0Km4cSD3nTVryi 9+6cB2LU0sZeNmzmIs6tsT120pPDS84= Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-337cc8e72f5so798533f8f.1 for ; Wed, 07 Feb 2024 13:10:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1707340209; x=1707945009; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=yzIBAmAbkaokxoBuvoEHsMoxUHI/JNBVtHeWulJmQgI=; b=DKqeBBEMhgulO7TGoxg7X7uo8w2wGUjX4mHFyvL6rRie9WT55136tsctELZYkMqB6s f4MZxT8qJWRKF05E00isi2pPSpzE3FXzyzwJwC0ePdm9AUvXhJGD4vn7HniY82ju70FZ Ejl6xRsa5pCDGZniWaf/gdgElnptIMK8+YLpbbtFYER1EBFUgTlsEBa7yjbIaFv/lJWF vYNyMeHzv8F23O1MCGm49/cT1vPgtB8+hx6KC5ZFer0ozkzm3dBgcBLgtPFgcajU4P3d /3iUl/gVhGXdSLYgS5OoZEhLd54Vf2EH5q+7SSXMB+eLXX7vPRbTahC1ZAvACcLpqz1q G2Ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707340209; x=1707945009; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=yzIBAmAbkaokxoBuvoEHsMoxUHI/JNBVtHeWulJmQgI=; b=TZddoXRvoJB4cyglsZ8S46DAfgBmZ8OyJJ5TvUbyytidzDozkR5Ls3Oa+ZrWUa7Rk3 RCXHrDt1YaJE724fLVM9gOdzdXDSakBbMmgoa9XR+hKhi3Ufsiw/y5U1WyZA0pw3daQr 5FDgEocTHi1/eQVMRvmTwFaEWVjRrvwEq1BZKEWBTzE2Rv6fFyJXTWvuHhrXmMaU5bOD nUQTIRkg68iQ5bMhCPZ7s9gzH7SLXbCsTHalMfmLEh6vd4/kCGcJe1lkp9iNzt4HlW3S bcd+3/Xh4MUFPr+Ga3EwU6zfnUoqX+PwbStiOCfaw4GdQsbLXUm8lbupZntW6M6x/n9C sfYg== X-Gm-Message-State: AOJu0YyrtNhsgaS/Qy6pFvX0ua9P+YokyBKpMtM6QJNir28gUNr+GghV RaxV6SnQtYopO4e3U2eZPq/OZvQlyCQvmQR9BNvHxgA8Vha7PiS8ry283BBy X-Google-Smtp-Source: AGHT+IHiyJYAj3ma0jKlMl7N7wodzV2+2eae3nM3PGPfCPcc5EuS7gXFGNAFvjBRUuEd7EpqEEKg4g== X-Received: by 2002:adf:e3c5:0:b0:33b:28df:345f with SMTP id k5-20020adfe3c5000000b0033b28df345fmr4069245wrm.22.1707340208779; Wed, 07 Feb 2024 13:10:08 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCXqK+BrGQGJO9KlmE/cbDN13L6DIFt/OS+YSBrzCTWPEwUz8isiJ3iRNm7xX+6FPEDQ54kx/Pg6vjSzeuUYxUZ7H44yNOXhKtrcDv2PVZnG1Do7xdyQOGWG44uMIAwwALSs/wuw0Z24yZ5c2+d/MuA9Te6xxWg94exzwSOfZg+teu+9kay4/bL5OPoWK8k8uYOSo0id8rwnTDcFCxiPZjI2OcALYbbyL8EQotbppR9CVlGDDGeHbWSphzZvxA2R/03PmtIPYNxtZVORkOjKfw5vFjuMv2Z7MEarDr92dK2YlBFu1wuVLD1B2PbYiBzbUTOwR2jXjQIMvIkeEzoyIP8idRImbzm3gLpa4NYoTjUtBANbLkAMzb1dcUe+moAh/XOmn2vl9ncZooi0aGKST9o= Received: from localhost (host109-150-53-182.range109-150.btcentralplus.com. [109.150.53.182]) by smtp.gmail.com with ESMTPSA id o8-20020a5d62c8000000b0033b1b01e4fcsm2240467wrv.96.2024.02.07.13.10.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Feb 2024 13:10:07 -0800 (PST) Date: Wed, 7 Feb 2024 21:07:51 +0000 From: Lorenzo Stoakes To: Alexei Starovoitov Cc: bpf@vger.kernel.org, daniel@iogearbox.net, andrii@kernel.org, martin.lau@kernel.org, memxor@gmail.com, eddyz87@gmail.com, tj@kernel.org, brho@google.com, hannes@cmpxchg.org, linux-mm@kvack.org, kernel-team@fb.com, Andrew Morton , Uladzislau Rezki , Christoph Hellwig Subject: Re: [PATCH bpf-next 03/16] mm: Expose vmap_pages_range() to the rest of the kernel. Message-ID: <30a722f3-dbf5-4fa3-9079-6574aae4b81d@lucifer.local> References: <20240206220441.38311-1-alexei.starovoitov@gmail.com> <20240206220441.38311-4-alexei.starovoitov@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240206220441.38311-4-alexei.starovoitov@gmail.com> X-Rspamd-Queue-Id: 8A94AC0019 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: jhb963ywgyeowp6fxwug6piqwxpam9cg X-HE-Tag: 1707340210-594865 X-HE-Meta: U2FsdGVkX199wSl+7gxMTQnQNp1iL/kUpcE1tCGlHTpky/bwfoivXmSQLmERChnAfHkLWvGlukgQDzJRfF65eeqMO56Ob1j0Vle6xV6AlTIF4BVUOKJRsSgjzxxlFYL+aRwf5vH8L1uW1uAgl9bV/7DSzL3GJK2A12XB1k9rCXO6YBmXcmOc3zR/swDJvqLm05yfPZZ/9dXSHpo0pearA8fUODGV4Hy9y7sFabFySL78SfA6mbDzBPZoN+ItscKUhoWK/H0KtBHyziQp/o2HZeDHlerMeTzk3i+P1JDmdrxIeP2XHNzS+O5b9w1nFOh8VAiaJ9U3FRDRueg+g9muwzmaTtNAlwj6FbpOzIycI/QnBOUyUfPePk8jMZ/bgbARs7RSLUEfL5oOpSO2r6JBi9UqgxqjkqAlL9HWTZtSG4mkRIkYhUVltuYjexhLzjSu7QXNfbFKznXDkOnuGIn5w2TgkDh5Gx9JObJ4VmsmXUl1BREtCUuOej/bvQHkoEp+t5nZxOVZJG34omfMstKzxOwloEfQkOPQHlmNcWse5OKO5HAJmGuYRHg1MmAcl2eIvx/v6Dl7v70iXdMIh2Hs2b/z+0BlE+u3Dmq/caKyR9Jy28Ea5L2YfQpj574mtgXPqhPid9MKg+ZfpQ3EdhFyUe2U5fNHZ22hEq3Bvf/oiM5lrX4HZASAlbMd1biwcG3HjcBfaPRXpVLO9irVNF/QriiODulPqAEQIt0UyEillSuhIWrak/EA4x7k/ankVdeJd+ope8yo3izJrbaUeQRX2uvBwx/oiNN7O2B0zjZnPosEoJTIwhVElhCGYBVdsdG9820+EifysSRpmmOQSQqRd2tepKw+/XtfNWclorG8kk4DiYr8vT0iOQ/SoYj4poCfbeNkWYPL3pOVeLHc8x+0wVjWBSwLJVUZ/SYO2BcqQPYEJl/9A0imPA9YbrJjtJLXRuSmX9Iv2PQF6q4WxDB rz1l3ijz hxZlBKW6VqiKWfH5j3a7ZYptmOQWfExkd0PQJnN8adXJDvQJR688LRXFQiVffE2FF572c5iyJIWFTUaa/X75DHy/ltzamffu/5Lc+RSrZp229mxMeGW5YcExXIAXcFC74e+yedqg2T/sCqEf1kTuWQKXFZWyIxjBMneOld1dfhJ4T6UcZ2efcee0tAUJhiAffL5hVbAFKm1wjc7s57c3B9Uj9jD2pZNRwoKEhZTSc8NPS+slsVY9NnwRY09rhWdX+VmtuVopavNeEnUqs8jrlwNDKRmPgkkHe1FAuO8gXoR01nboBlaZO3wCLyUxKjFZIoZga/ciGnXCl/drmI1mZBVb4zwVP/ScAeOn9gSU1HYbc3vFNH91F0lMN8/mwx42LEss7Y38bU1SxsVEEBmIJgDZNG9BfY34n9RH92pEtvjeVL9fD4uKZA1Mh45niFJcrXiZVYPUmkhcYOIGLSkLbWNk+sDjgmk72xm5e6mQJ5kkzBNIFegY4dDFnuMZfDkIdRh+HKSbp6DZhvZ08EixmSLW5a+0T6AIeHuROj382v+xekvZM90gX06OINgmXXhDXSFX/ 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: I don't know what conventions you bpf guys follow, but it's common courtesy in the rest of the kernel to do a get_maintainers.pl check and figure out who the maintainers/reviews of a part of the kernel you change are, and include them in your mailing list. I've done this for you. On Tue, Feb 06, 2024 at 02:04:28PM -0800, Alexei Starovoitov wrote: > From: Alexei Starovoitov > > The next commit will introduce bpf_arena which is a sparsely populated shared > memory region between bpf program and user space process. > It will function similar to vmalloc()/vm_map_ram(): > - get_vm_area() > - alloc_pages() > - vmap_pages_range() This tells me absolutely nothing about why it is justified to expose this internal interface. You need to put more explanation here along the lines of 'we had no other means of achieving what we needed from vmalloc because X, Y, Z and are absolutely convinced it poses no risk of breaking anything'. I mean I see a lot of checks in vmap() that aren't in vmap_pages_range() for instance. We good to expose that, not only for you but for any other core kernel users? > > Signed-off-by: Alexei Starovoitov > --- > include/linux/vmalloc.h | 2 ++ > mm/vmalloc.c | 4 ++-- > 2 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h > index c720be70c8dd..bafb87c69e3d 100644 > --- a/include/linux/vmalloc.h > +++ b/include/linux/vmalloc.h > @@ -233,6 +233,8 @@ static inline bool is_vm_area_hugepages(const void *addr) > > #ifdef CONFIG_MMU > void vunmap_range(unsigned long addr, unsigned long end); > +int vmap_pages_range(unsigned long addr, unsigned long end, > + pgprot_t prot, struct page **pages, unsigned int page_shift); > static inline void set_vm_flush_reset_perms(void *addr) > { > struct vm_struct *vm = find_vm_area(addr); > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index d12a17fc0c17..eae93d575d1b 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -625,8 +625,8 @@ int vmap_pages_range_noflush(unsigned long addr, unsigned long end, > * RETURNS: > * 0 on success, -errno on failure. > */ > -static int vmap_pages_range(unsigned long addr, unsigned long end, > - pgprot_t prot, struct page **pages, unsigned int page_shift) > +int vmap_pages_range(unsigned long addr, unsigned long end, > + pgprot_t prot, struct page **pages, unsigned int page_shift) > { > int err; > > -- > 2.34.1 >