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 7312BC83F11 for ; Sun, 27 Aug 2023 07:22:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ECBED8E0009; Sun, 27 Aug 2023 03:22:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E7B688E0001; Sun, 27 Aug 2023 03:22:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D69918E0009; Sun, 27 Aug 2023 03:22:30 -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 C7C5F8E0001 for ; Sun, 27 Aug 2023 03:22:30 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 8E8838015E for ; Sun, 27 Aug 2023 07:22:30 +0000 (UTC) X-FDA: 81169041660.24.F5E60C2 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) by imf30.hostedemail.com (Postfix) with ESMTP id B678D80014 for ; Sun, 27 Aug 2023 07:22:28 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=YVi4N8Xs; spf=pass (imf30.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.44 as permitted sender) smtp.mailfrom=lstoakes@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1693120948; 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=w8xzhEQ3CLjRNHEHg0mtBbUNtrK+zL8cif/MOLW3IS4=; b=qdjwLnQBfSbB3AmTTp+uAypkqtp2z2JImklL2B5WycNDslsA+TyuGr4wOtNXJOR2pX84fM 1XXEutEu7wqktpHEvb+g/xEvzgPpFFHW16Q515QyTBIiMnIhEz0LckH184EY+mRo4LIiNS TSTa/x3OVDfND24HO0K3FlykpL+n1kA= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=YVi4N8Xs; spf=pass (imf30.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.44 as permitted sender) smtp.mailfrom=lstoakes@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1693120948; a=rsa-sha256; cv=none; b=BOAd3GJVHNiHMa4I/QEq+tRs+dS6A0BwNcfAJ8l+6RQlXfZh8WDq638FmGE35O3DIuqFwv cwEqCV1Hjfvu35mFlHONg7NYkUgYrrYsO4lvv++f+eDAayDPYgBaMosNuYGrP9kvFm5pPT Sl6RXXRdi63ufsOCDX10za0lNHuMTSA= Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-3fee769fcc3so19356515e9.2 for ; Sun, 27 Aug 2023 00:22:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693120947; x=1693725747; 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=w8xzhEQ3CLjRNHEHg0mtBbUNtrK+zL8cif/MOLW3IS4=; b=YVi4N8Xs/E5aBn4t276/eQ5fzPCNwWi5YR/GbAdCMZs/BNOBDH+W3s6bI7P1u8zsYV W1zUGgmnQc4FKoaxhcEmsofnPWjUHoeN04PiX1z78MPf7fKbvzIRc2y5NxUskxfqI6xv WHCv9ZGpJ2Yft2wCFiVJ2aaHibgFPpk/5KGA3rMMRrdQU50bBAfCSSyU63tUVYjGcw4y l5IPn8yuHFHnpTzyr4BTsefXRnJLKSc1wh47SqrnBnhZiF+0GmmwqAD5MQkvFK7KbMO3 cQYKWbmYCMs36g56/xXObQV/41U3eik/TBdWA6mgTbu5KJ5wPdjU7lEw7KCucwHkZF6/ XdIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693120947; x=1693725747; 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=w8xzhEQ3CLjRNHEHg0mtBbUNtrK+zL8cif/MOLW3IS4=; b=CKuMQViWSvpugx+CyODAXLEn7X/ADILp7OCbKBuPNNfYmnl7t0YQx8Ud865A0I7Whh kUTGp98AeZ6Rlo4YZUJuWKawYMBrcKJY3ODPXLQjtN2qjBdzBlv4aQJ1dpuGQfre++nG QeYgpgRJ5RAsBbF2fFdjR5yYpXwZ67g4ZhMY7J8HQchFE0g7b0xX9abQ1+S+0svThVla dwj2b/hP1ic5bw0/BSpSFcJHFc85ul/YkTjIrZ2gKSKwCf6zioZ3ycSUBoCsIDzkpI0k iItF3+0i/7dg2n+iswjyFoJVSSlXRk60rWBR8AJDAl33puhIMJ0A0JxbIiLIqSqGjQom o+GA== X-Gm-Message-State: AOJu0YxEa9lAzvt+XHKGRP3Ov14xc3A9Ee552++AH7yeeBP26iim0Gyw epnUg3bOynM5yvcNLyOyUW8= X-Google-Smtp-Source: AGHT+IGTJbdipN2x5xwsQ9dXCwW4NazzlCoMjJnzTDTOeN3NYrclaHxaRm1+F0Dt0aYG3q/C4Ka8mQ== X-Received: by 2002:a05:600c:258:b0:3fe:16f4:d865 with SMTP id 24-20020a05600c025800b003fe16f4d865mr16246287wmj.23.1693120947174; Sun, 27 Aug 2023 00:22:27 -0700 (PDT) Received: from localhost ([2a00:23c5:dc8c:8701:1663:9a35:5a7b:1d76]) by smtp.gmail.com with ESMTPSA id o10-20020a1c750a000000b003fe29dc0ff2sm7118483wmc.21.2023.08.27.00.22.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Aug 2023 00:22:26 -0700 (PDT) Date: Sun, 27 Aug 2023 08:22:25 +0100 From: Lorenzo Stoakes To: "Matthew Wilcox (Oracle)" Cc: linux-mm@kvack.org, linux-perf-users@vger.kernel.org, peterz@infradead.org, mingo@redhat.com, acme@kernel.org, urezki@gmail.com, hch@infradead.org Subject: Re: [RFC PATCH 3/4] perf: Use vmalloc_to_folio() Message-ID: References: <20230821202016.2910321-1-willy@infradead.org> <20230821202016.2910321-4-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230821202016.2910321-4-willy@infradead.org> X-Rspamd-Queue-Id: B678D80014 X-Rspam-User: X-Stat-Signature: 6gg55ogumi5ik5f6iubycsmcqaeayu7k X-Rspamd-Server: rspam01 X-HE-Tag: 1693120948-356474 X-HE-Meta: U2FsdGVkX194+U8/Ds5mPn9ai9CIrCYuMhSGq5BF8bBY5PkMrIcu8pA7OQvdJgHzYrBr3R5fOnjNEiCCmg1n5+EqIEDeSx6IfuZHCrx2gGPdlJZ52C8ySdUnJQqQ7/PfTzZUwCB5BywJhXh2r2Z8NPFfb0TI5uzK7BSvytLlnBhoATRCOVEsB3WsXO3nFDcXtMTdg8nW4QGTgU5DX78pwiWxBXgHGT5y3rriQdxRvUq/jUE0N6nBKoM3S79lr5MpPvq+b5h1SEIywFfqySj3iHdlZe95zpSvdv2b9juwJRdwDZVILz7cvrCTcs1mFBCGQI2MP1HUnE/p8KQbh1Cr4WdMkk3kz7xCEmEX2bFTzJGixtshS198EdGqYAee9eNBPu3Z4smy57VoUk+gZPm0c7L3gWIicI5ZlAv+W9cLXw/YCCd35g92Ux00DQjEoYZk/WnnMN7UktEoQAK6qg+OVTAkeNmOC556JBRHHsim7EogeN8PQ0Vzx6E+rDHgwd4HW+9seFxtWAe7BUZtF9sid8c6nTzjYu2eXjqvpSGvX5TObc3Ksg5fen/xK4P/dPd6fr78bI88RFv4L3aJgy+20nQFZzXAtGQ42SQY7pnGzYcnFmUUCclMwY51Hgg6ERh+C4Z+1wzJ/Ul1SAhrDTZ9GLycl7nZK0ydoNQiTruZb+t0NVkGdGLal24IuG9PWQRvrGhbjVdbSRc/KuWQooAj83fw5nX3iyOBSIjnbZTRygkxUExA23sGeLd8WUOvm4ciYdEWMHRpEG8NmZjoGvIC+qRJU9KKYWiTeLnRNqkft9E3Fs0U6XkK3Zc3mSkEiXMqDmDTXrG3vJ38X/w7ejBYma66koHRpUA6nQqt8VVjCMYZpREAmZ7mELbmYjuL/GFD/4DZFoLWRhvKDAmwL1MNEWKdNPUV/VxJ7kxLe9q+RmhKHgL8jZiwAKVEmlzXdfyHAik2ftU/6LJ4P5GifnE NVHq5d06 XuN9IivRJxx0xGgFORtSeSkZ6BXvIgNNRCkZrlkGYaGhDtfnMLBRdMNLInuJvYp8PVgoHEJ4WCcZAKXgzGYD+FDQZHRUg8tOPKV9IinvL/1ZFjPAGaurHooipJdJejs170G0Feww48mqIlWqKCOnk/5UgAeGhMp7i7L9eMMhQFz/ctLrpdSbj2jaEfy2EoTT2XOM92ULNsVxu2wtqPh8vih06+qhShM+trEZWrlZMpcGNffHbO33QX/+LXThr3/hhAPK6PSvS6+yfmnPRQFWnq2kFJ8oDUfwgip4xIDnRvuwE5uCX4hekxtMtJeTxDd2sSUSkuzj/xP+otLrYtOUTRkKjeQ1tlwJbEtX6ufXOQwIDNaXyq39vt0Ld3/Y7H3NrPWSYEnnz4KgdLPoVE9kZ+GqTF+CJfRWKtcUTzJgbhQ1I//bY5c/hgh7eXCay54ZDuGWkS1Z0YJ93O6Au+qqc7YluhGATjJ3y1XB1FuG9fqqLtOyxCYHgJImOOd70YsJg7QEIdr4nHcwDkvB3ArPLxHdSEA== 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: On Mon, Aug 21, 2023 at 09:20:15PM +0100, Matthew Wilcox (Oracle) wrote: > Eliminate a use of page->mapping by using vmalloc_to_folio() instead. > > Signed-off-by: Matthew Wilcox (Oracle) > --- > include/linux/mm.h | 5 +++++ > kernel/events/ring_buffer.c | 4 ++-- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 840bae5f23b6..7d84a2843193 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -1134,6 +1134,11 @@ int region_intersects(resource_size_t offset, size_t size, unsigned long flags, > struct page *vmalloc_to_page(const void *addr); > unsigned long vmalloc_to_pfn(const void *addr); > > +static inline struct folio *vmalloc_to_folio(const void *addr) > +{ > + return page_folio(vmalloc_to_page(addr)); > +} > + Total nit, and quite possibly unnecessary, but it might be nice to have a comment pointing out that vmalloc_to_page can and will return tail pages hence the need for page_folio() and thus _compound_head(). This makes me wonder about a typedef or wrapper type which explicitly indicates that a function is _intentionally_ returning something that might be a head or a tail page. But perhaps once foliofication is complete, this is what struct page or its memdesc replacement will become? > /* > * Determine if an address is within the vmalloc range > * > diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c > index c73add132618..56939dc3bf33 100644 > --- a/kernel/events/ring_buffer.c > +++ b/kernel/events/ring_buffer.c > @@ -873,9 +873,9 @@ __perf_mmap_to_page(struct perf_buffer *rb, unsigned long pgoff) > > static void perf_mmap_unmark_page(void *addr) > { > - struct page *page = vmalloc_to_page(addr); > + struct folio *folio = vmalloc_to_folio(addr); > > - page->mapping = NULL; > + folio->mapping = NULL; > } > > static void rb_free_work(struct work_struct *work) > -- > 2.40.1 > Reviewed-by: Lorenzo Stoakes