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 55989C54E49 for ; Mon, 4 Mar 2024 07:55:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 966236B009D; Mon, 4 Mar 2024 02:55:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8EEEB6B009E; Mon, 4 Mar 2024 02:55:09 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 78F336B009F; Mon, 4 Mar 2024 02:55:09 -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 634B96B009D for ; Mon, 4 Mar 2024 02:55:09 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id AD85C140956 for ; Mon, 4 Mar 2024 07:55:08 +0000 (UTC) X-FDA: 81858595896.12.59C78D7 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf22.hostedemail.com (Postfix) with ESMTP id 655EEC000A for ; Mon, 4 Mar 2024 07:55:06 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ahcrYj1d; spf=pass (imf22.hostedemail.com: domain of rppt@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709538907; 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=uy+QF8yl83GkSCc1e6tyJaMlwN6hWd0NYWVxr0rYLmU=; b=I/4Fcic3fQ022zE7HCgCqKjwFoY3tq+j26QaOfbtxeZrAFNEurEokOuDLccw/3fsQnh1sP N+3bmUHLdnqueb5SMGALiLzPSRJ/UqRLpa5pHD/fzHHxlFRvGR0FVny8YhVZVV1DNhPVnN 1c31O+ZHy1LS931p2F96YO6dRgZAwAM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709538907; a=rsa-sha256; cv=none; b=jYTAqVT/ZtasTUsX2r3ll1J1L6bTwqiCwf/l2fUBAaG4kZ+VKZI82cAvmpacqVN62pWxZo Txrecc9oeyPFENPl7sM1XDktNGFAjSTaSA32pMTnJmx6Lkhx+HnKnqueIpxyy1FlCpAh5v rYXZBQ5baWyo+G47sxgMV4EXZCBLzvk= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ahcrYj1d; spf=pass (imf22.hostedemail.com: domain of rppt@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id F0C11CE09CC; Mon, 4 Mar 2024 07:55:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D8DCDC433C7; Mon, 4 Mar 2024 07:54:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709538901; bh=p6Urnz+2Ta3f7kOkPM5DbFuLip3NAfCMXzcs08p4wBo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ahcrYj1dyiqeI3FybO9o3aXX0MLEyrxXvIg4Hq/LjLd/8bn5nhNwjUoq8uYLe0Ml7 NxC0ub4AubKaEjlt054LymegP0FHpoZStH80tU0a4A9ScXeQaUWHHXAgxHoLhCkMvL Bu2BAHGQ7bqf5hL2B6L8oVg3E8otol7ZUbWn+JAWyUncSvpeq/oY5CR1JqVbPoHMJg nZC0lhtkuq5rgdsQ3/3ZKHAzdFJ+YjLfDbjA9rTgRRX4h0gqWIJsqQ+dI+40IIdbqZ cCX6EN1NiDFXsxM1L/qOAsSFM2iWNfoSeHnvaeyVtw+UOJBZU3FWPizOY1HNOE+V7Q shceRKWhU9xIg== Date: Mon, 4 Mar 2024 09:54:08 +0200 From: Mike Rapoport To: Alexei Starovoitov Cc: bpf@vger.kernel.org, daniel@iogearbox.net, andrii@kernel.org, torvalds@linux-foundation.org, brho@google.com, hannes@cmpxchg.org, lstoakes@gmail.com, akpm@linux-foundation.org, urezki@gmail.com, hch@infradead.org, boris.ostrovsky@oracle.com, sstabellini@kernel.org, jgross@suse.com, linux-mm@kvack.org, xen-devel@lists.xenproject.org, kernel-team@fb.com Subject: Re: [PATCH v2 bpf-next 2/3] mm, xen: Separate xen use cases from ioremap. Message-ID: References: <20240223235728.13981-1-alexei.starovoitov@gmail.com> <20240223235728.13981-3-alexei.starovoitov@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240223235728.13981-3-alexei.starovoitov@gmail.com> X-Stat-Signature: dexddifssnjrpeh5rw6xfpabqopnw1n4 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 655EEC000A X-Rspam-User: X-HE-Tag: 1709538906-649548 X-HE-Meta: U2FsdGVkX1/EluqV+Fy0U60odm75FkOObUftjkHET9WixOhBKBRadfQqAkJEMjHnYPe6Y2OUg95riA8DF5jSuolXoyb1UhReALq1myR/EpXdkO8GLaFFLMq1afmtij258h/1JcubDEK27w7wup8zj/AzXxaF93xodCDnl2Nf778CDn1Y+DHkCMMUF/zAG6F+q3lItJ67i7pvtfR0Y4ixRhfXN/GPtECfeKkVp0OmKcJ+2Is0lMxmvhvT9ylG6gwlwao2NWHfDzKpvT4TfjJDXO4qU42PTK6iyeYKYGBDK/cvXffi1h2dFexnyUV2pRJNaa4D1Y1si8WtOyWxeMxFZl5aFkArml1/B2HdJ3TfkWUorWmF60jebJF2LhARgWHhX8aoSqcUHMEIm5QJS0ECuhHqDI7V8hNBavSG4ycajRak4M7iBQiJcFAfRcBullo04bv2boIxYcyu8BKreN7f/ZIIQEB+FfmACAAaG8JtbDNdyVGaia2O7uEHf1Ok8d4ojuNbdxbnUUjTgBo9+9ILWN4qpnkpkXlDNLMOHYSnMQacbTd/b+5nbdQsugZvE9cL/O87f9S/QPip+1/M42x9Yxka1I6yE2fx9T2xdiH3YDxas7ufefH6LDdZAvqxopCaRNB5fEYVMXDbp+CFFZZTvH7gSw6r/yuluGaNRlWleq6CdptFcd/LhbOsHkt4bi7t9uS6jXHHJ+Jn0OAplO0YUgIg/Dyz8XMCx3IUhLENjFwTvPSFnfuZCDM6nzQ9g47dFEuaAXu6NwdI5xBUEy17Nl/2wGhuQpzBKyUCZbl4jiftKgWFCVhSUsRF028+UDIV7yfG7uLPWjoQ+bHMb7s1nKT3sIRwf0VSainFJIcQh0XDKIq1r4iWOjInU4A9TGedzLItdcndwxo0o8V7PnloOFfeed9whUpyQ/MZMyjUbRczYrs4gweXVX4ws3uNY6SSnawzSdCLgBSbgJ2bh5P ObnX96n5 udMg+sE8wkcceJJcrOI7K5A3TCL+UGWetvZFkbP2X5ABvcDopTZoQsdjxUx3q5jeov7P+qgYka+Lf68IQeWaf0NqUH5w/jCRlDL6zV7XFL92vvtfrMA3FUK9meku8OxkCSvcZFeGVqG1pYZDzJnID531xcKaeOpItN05ClWvQhOYUgqNvz7WDinfoZdf1Nj3cLMq1N0TyYJQPRbJBOsaicmFq0f/LcyIfVB8GsF4O4I055k0VNVPRvkCrSjG+Ce+nbAY3IItSEqHCb03TJmptkUI9cQKXA0raEFmQwv7jJiQJGKtXmPtoC55ve/hfdtLY+/T45+GVgXFpf/rOOKf3OZaStw== 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, Feb 23, 2024 at 03:57:27PM -0800, Alexei Starovoitov wrote: > From: Alexei Starovoitov > > xen grant table and xenbus ring are not ioremap the way arch specific code is using it, > so let's add VM_XEN flag to separate them from VM_IOREMAP users. > xen will not and should not be calling ioremap_page_range() on that range. > /proc/vmallocinfo will print such region as "xen" instead of "ioremap" as well. > > Signed-off-by: Alexei Starovoitov > --- > arch/x86/xen/grant-table.c | 2 +- > drivers/xen/xenbus/xenbus_client.c | 2 +- > include/linux/vmalloc.h | 1 + > mm/vmalloc.c | 7 +++++-- > 4 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/xen/grant-table.c b/arch/x86/xen/grant-table.c > index 1e681bf62561..b816db0349c4 100644 > --- a/arch/x86/xen/grant-table.c > +++ b/arch/x86/xen/grant-table.c > @@ -104,7 +104,7 @@ static int arch_gnttab_valloc(struct gnttab_vm_area *area, unsigned nr_frames) > area->ptes = kmalloc_array(nr_frames, sizeof(*area->ptes), GFP_KERNEL); > if (area->ptes == NULL) > return -ENOMEM; > - area->area = get_vm_area(PAGE_SIZE * nr_frames, VM_IOREMAP); > + area->area = get_vm_area(PAGE_SIZE * nr_frames, VM_XEN); > if (!area->area) > goto out_free_ptes; > if (apply_to_page_range(&init_mm, (unsigned long)area->area->addr, > diff --git a/drivers/xen/xenbus/xenbus_client.c b/drivers/xen/xenbus/xenbus_client.c > index 32835b4b9bc5..b9c81a2d578b 100644 > --- a/drivers/xen/xenbus/xenbus_client.c > +++ b/drivers/xen/xenbus/xenbus_client.c > @@ -758,7 +758,7 @@ static int xenbus_map_ring_pv(struct xenbus_device *dev, > bool leaked = false; > int err = -ENOMEM; > > - area = get_vm_area(XEN_PAGE_SIZE * nr_grefs, VM_IOREMAP); > + area = get_vm_area(XEN_PAGE_SIZE * nr_grefs, VM_XEN); > if (!area) > return -ENOMEM; > if (apply_to_page_range(&init_mm, (unsigned long)area->addr, > diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h > index c720be70c8dd..223e51c243bc 100644 > --- a/include/linux/vmalloc.h > +++ b/include/linux/vmalloc.h > @@ -28,6 +28,7 @@ struct iov_iter; /* in uio.h */ > #define VM_FLUSH_RESET_PERMS 0x00000100 /* reset direct map and flush TLB on unmap, can't be freed in atomic context */ > #define VM_MAP_PUT_PAGES 0x00000200 /* put pages and free array in vfree */ > #define VM_ALLOW_HUGE_VMAP 0x00000400 /* Allow for huge pages on archs with HAVE_ARCH_HUGE_VMALLOC */ > +#define VM_XEN 0x00000800 /* xen use cases */ > > #if (defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS)) && \ > !defined(CONFIG_KASAN_VMALLOC) There's also VM_DEFER_KMEMLEAK a line below: #if (defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS)) && \ !defined(CONFIG_KASAN_VMALLOC) #define VM_DEFER_KMEMLEAK 0x00000801 /* defer kmemleak object creation */ #else #define VM_DEFER_KMEMLEAK 0 #endif It should be adjusted as well. I think it makes sense to use an enumeration for vm_flags, just like as Suren did for GFP (https://lore.kernel.org/linux-mm/20240224015800.2569851-1-surenb@google.com/) -- Sincerely yours, Mike.