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 1E2B8C6FD1D for ; Wed, 15 Mar 2023 08:52:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 54B536B0072; Wed, 15 Mar 2023 04:52:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4FB536B0074; Wed, 15 Mar 2023 04:52:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 375F26B0075; Wed, 15 Mar 2023 04:52:48 -0400 (EDT) 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 247DC6B0072 for ; Wed, 15 Mar 2023 04:52:48 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 565E1C0137 for ; Wed, 15 Mar 2023 08:52:47 +0000 (UTC) X-FDA: 80570517174.19.18F9947 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by imf17.hostedemail.com (Postfix) with ESMTP id 726A340009 for ; Wed, 15 Mar 2023 08:52:45 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=BQIPymLA; spf=pass (imf17.hostedemail.com: domain of elver@google.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=elver@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=1678870365; 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=ykAWNeQFRSXWiMQRkG7ruLQaPcfN8XGu9YKzk/Snc/Q=; b=x7qeUhmRLcubZvRVtwWI8WPjgKRRjIHbhPCCetJ0AvleRUX4eWo931llqa6e/k/BI6KtYU n/iPjnEof2LzOJnNGbAYyovM9xZMsjOULkWX5lCl/1qqz0QR7XgY7OcuOSSXSRt7dOPPBy dXPKBHyzT4h975T2bof8/1RpAhmimG0= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=BQIPymLA; spf=pass (imf17.hostedemail.com: domain of elver@google.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=elver@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678870365; a=rsa-sha256; cv=none; b=KNoI/FL4935sDZ2/BzaVxaBW4YB2o44Xzs3sEYI5hEAEAsTwXjuWdhn8XsZ1hBMSUXcLR5 fLBOLO7g+B4+2lGHph/e1Sqed8EWXsctu6KPHctLT71NvN0UWtwmraahJTfY3WteCZYCwh WdSfPcDEXQKTShJyuM/Zh0WNHUOdB00= Received: by mail-wm1-f41.google.com with SMTP id bg16-20020a05600c3c9000b003eb34e21bdfso601259wmb.0 for ; Wed, 15 Mar 2023 01:52:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1678870364; h=user-agent: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=ykAWNeQFRSXWiMQRkG7ruLQaPcfN8XGu9YKzk/Snc/Q=; b=BQIPymLAcma7QRPwFhP1SCgKxDz+SfyPo0BZ5YnIBypimiJNIdIVjljthH63jZWcwF d8bYbG4O2U0BiWygHqxKKpSTG1AYmf86deTWcC0dq83KHkdadblE1l20puzOOLIZMhTD OFnfwTsZGSZOjMoQi2nJUvAxFwuoosrXKmL3CiM2veEevgOm+IDgskl4mJRULPWqBqzJ Jf2pvI67KGhU01oXe3Yhoj1rKhhNrOx82c3dCXDJo8hSeWyf2nxZZ7vU76lu3htAjnsu JdR/V+eMIPYFzjj93XpLuZ7WZF9SjB0BFHSkncT7QkJVeqHD59zo6+sDhy2m3yR1NJSj lazQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678870364; h=user-agent: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=ykAWNeQFRSXWiMQRkG7ruLQaPcfN8XGu9YKzk/Snc/Q=; b=l4suesS9KqXjwvLW1wdzfruJ8tS+LraWmtKgKzxMpkVRB9g9hoBLg6ou2RBfEPQEfW cNEKDOspVMOTRdbNFnrSFdK49wUSTmT+Ibpw5Phe+28btYCyiwF5sJ7zc21k5WYMhs5k azLTcKcFD16VGTea8PczbYXP8hpOqZbFngF06OD+tSIaqsHkZ0HChPkazk8FrWp0GAxP Y0vpCaowU39epz8gJzjPi4UqbgFZSuDkQamDmAW6xS53oTxodVJNtd7EWzTQTIZ7WW/i qcToGV+Whif/pO3O9da3rqv5wRb2PLw/BDsC8VHyQ3KyxfVXHMXWP8Npb3Bw8+hfxl6r od3w== X-Gm-Message-State: AO0yUKXheNHqSiQqeStBlovRB2X96r86jSpAeckKkJpl3NFYe0cqINnS 08AEKFThEAx5Os4lE6YEj8vZpQ== X-Google-Smtp-Source: AK7set/RAG8oBPytHBTgXi0rwcT4pPmQk9JiqoCjmsORZ3sqvP/Bx9lKF6pT5D+7Pw0eA35X0TKhCQ== X-Received: by 2002:a05:600c:cc6:b0:3ed:2949:9847 with SMTP id fk6-20020a05600c0cc600b003ed29499847mr7151983wmb.10.1678870363925; Wed, 15 Mar 2023 01:52:43 -0700 (PDT) Received: from elver.google.com ([2a00:79e0:9c:201:54ce:e7e7:a29b:ab5f]) by smtp.gmail.com with ESMTPSA id y25-20020a1c4b19000000b003ed2a3eab71sm1113920wma.31.2023.03.15.01.52.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Mar 2023 01:52:40 -0700 (PDT) Date: Wed, 15 Mar 2023 09:52:33 +0100 From: Marco Elver To: Zhenhua Huang Cc: Pavan Kondeti , catalin.marinas@arm.com, will@kernel.org, glider@google.com, dvyukov@google.com, akpm@linux-foundation.org, robin.murphy@arm.com, mark.rutland@arm.com, jianyong.wu@arm.com, james.morse@arm.com, wangkefeng.wang@huawei.com, linux-arm-kernel@lists.infradead.org, kasan-dev@googlegroups.com, linux-mm@kvack.org, quic_guptap@quicinc.com, quic_tingweiz@quicinc.com, quic_charante@quicinc.com Subject: Re: [PATCH v8] mm,kfence: decouple kfence from page granularity mapping judgement Message-ID: References: <1678777502-6933-1-git-send-email-quic_zhenhuah@quicinc.com> <20230314083645.GA556474@hu-pkondeti-hyd.qualcomm.com> <20230314111422.GB556474@hu-pkondeti-hyd.qualcomm.com> <3253f502-aa2e-f8c9-b5bd-8eb20e5f6c5e@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3253f502-aa2e-f8c9-b5bd-8eb20e5f6c5e@quicinc.com> User-Agent: Mutt/2.2.9 (2022-11-12) X-Rspamd-Queue-Id: 726A340009 X-Stat-Signature: f7u17hjogk9b8s7o79fahkmsaa764ocp X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1678870365-914876 X-HE-Meta: U2FsdGVkX1+cNmy5XWNOIhfSd36AJlsDETE8o4OqaoD0colvkgNxrEKRBJfQKKiBSskrp+1i2CUMeBAwS2KDi5UYswkQzGdhGTGcwg2GCLJHxR96f9fC4e2VMyKicCq6/k7t3NaN/alQ6oc0GJYukZtuDxE78m1CbAahtkc5MQ9nTRoc8aVPfN3Fg0Gb/Vy4vVHI/pgG13YzFlYDDCU0p8BvglYkSgvZsoBpIpvrnx1e3uBuW5Jgol0TzUOncz86taX/D5CUVq6tho635bxtghsCpmsQOJtm4MHDIxSlx/J0qHl8YOb0iorxOqrIJVuDOklSOOBhfKPh3UHA7OpjO/gnNHtc/N11amlNb9U72YO4q9QhZOFsc7cM1dM9ZXSdLX5gJBa4Sh21P8jMt9Y1ybw9dHRXed5unwvSe/CdNM0/10VdBH54GrScntEXVzlExxf8ZrbojTrcHldC7HVacTnTRywDHN6cFaBGM5UoIxHPuo+IWu/E/otN9lrmJhDAo4p+lnmU1oCx4bgue95k7QooT5GWNDcNyWYY9+i17OU5QBNVLRYm/bHmy/3B1h51Hs8YQi+znNzWoTbmim8vMzJm8AdfMGSbRGPH+FdlYeNFuQmYcfZQJ1iaZWGeE36H7VguMr2IThtPZmOSspMD2JQNbNLw7ITZsMBHhwla7LIjZX3H5df3biAYz6btUBO5OKjah1rNROF30HLW1d0g4mk7Rud2yCWpg2kVV676oaALthzGZAfDVHr5CUIOMsWOwoBoidOFaQOfp/MlhpwVPr1EUN0IO5aCCBdE1BUi4m9v0vUQ5TDrsFWbuvY87zf3JmWipCaXc0cjLMgA2+DQQaCCP+Y6NsbYr2XXuKGZ9Ryu5CwNvuDJoqDxSQAzcGYYrMRfxnrCRXncWUUvjv0ZPQsomlPrRAG4X1A+8WiHHjolm6ifkNgu7Cbt1iBHyojpOxpMWpmYW9VLL2lM7v4 AezkG4Z6 2S4+qBzjNbQtpDSBhsfBYG6trPDSwuDNg5DohqX0bejMhtBR0C+Nsg2joCCpKzciBtKrPdW3w2RhIby5DK6rPvUECTqSEdfrgQNtDixzY187LRfEbbScdeGwTLIKGECx4cKHrIgGWoLpOkgHQYHJP0Qe5YKgj8yi4+V9UmNa2HEoZGbfjDTS2bEZXFz9Opcu2kkHHQ1+k0dQKKmQ7ERtdNLl9z59B4eSh82OXR3vIK2RkGjhILTKS0m2XdX4kILjG7hCuvcBkcI8Hq0SDsT2ZHrMOY1B1wzKzHF0jERQwHDLRPcGN0iB4DmskIk1cC7iZPh6uV57oe+KjCYrn+C73VvY5MCsOtpHbNAMWtm09LDjlrc1vyLYxsOj33l8fCObLRv7GhWkGacyGMrCbuBmm7Q4ugRZhmkhVbVTB6NhaRPywtFEH43VkbsJ7cw== 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 Wed, Mar 15, 2023 at 02:51PM +0800, Zhenhua Huang wrote: [...] > > Is it possible to free this early allocated memory later in > > mm_init()->kfence_alloc_pool()? if that is not possible, can we think of > > adding early param for kfence? > > If we freed that buffer, there may be no chance to get that page granularity > mapped buffer again.. as all these allocation/free are through normal buddy > allocator. > > At this stage, seems only additional early param can work.. Marco previously > wanted to reuse sample_interval but seems not doable now. > > Hi Marco, > > Sorry, Can we thought of the solution again? like > ARM64: > 1. intercepts early boot arg and gives early alloc memory to KFENCE > 2. KFENCE to disable dynamic switch > 3. disable page gran and save memory overhead > The purpose is in the case of w/o boot arg, it's just same as now.. arch > specific kfence buffer will not allocate. And w/ boot arg, we can get > expected saving. You can get kfence.sample_interval with early_param(). mm/kfence/core.c should be left as is with a module param, so it can be set at runtime in /sys/modules/kfence/parameters/. However you can add this to the #ifdef CONFIG_KFENCE in arm64 code you're adding: static bool kfence_early_init __initdata = !!CONFIG_KFENCE_SAMPLE_INTERVAL; static int __init parse_kfence_early_init(char *p) { int val; if (get_option(&p, &val)) kfence_early_init = !!val; return 0; } early_param("kfence.sample_interval", parse_kfence_early_init); Nothing is preventing us from parsing kfence.sample_interval twice during boot. At this stage you don't need the actual sample_interval, only if kfence.sample_interval was provided on the cmdline and is not 0. That will avoid adding another new param. Thanks, -- Marco