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 DDA84C4829E for ; Tue, 13 Feb 2024 00:29:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 670246B007D; Mon, 12 Feb 2024 19:29:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 647C86B0080; Mon, 12 Feb 2024 19:29:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4E8736B0088; Mon, 12 Feb 2024 19:29:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 3C29A6B007D for ; Mon, 12 Feb 2024 19:29:53 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 109A540869 for ; Tue, 13 Feb 2024 00:29:53 +0000 (UTC) X-FDA: 81784897866.19.EF8B7A3 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by imf01.hostedemail.com (Postfix) with ESMTP id 2ED0E40011 for ; Tue, 13 Feb 2024 00:29:50 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=BuXRfJDy; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf01.hostedemail.com: domain of keescook@chromium.org designates 209.85.214.173 as permitted sender) smtp.mailfrom=keescook@chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707784191; 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=DKs+1yTn2Kh2ROZPp6elsN7agahGkRma180U23twrOk=; b=BxgOuiuuhpwd3o9Yx90owcyUghY2TZhnSAVhT0atQZySFW1HdNLysB/oUkYzKD9pooCDn/ Q2IudVH1W+GQt/HpmOa70o7svHYmEK/EyfzaMTScIZpsEpUggcZ2kemSkZQYPjMjO71Ehu 2iQV1tcFkqQdZyrulnvSyjhAgNBONjw= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=BuXRfJDy; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf01.hostedemail.com: domain of keescook@chromium.org designates 209.85.214.173 as permitted sender) smtp.mailfrom=keescook@chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707784191; a=rsa-sha256; cv=none; b=6mwpAIDCuRJHJU4cutQm7b02G8zbyrwuLL6ld/jHuk6fA+1ht1KFQUnN4iXfKjWDsOuaXf 77N4AhDdR+Kysm8emVe35h6z08B9z6MCi8J29TAUgprmF3yfy9KXM99uBGqrJZfciutFMO F9/m0zP7cdkoOpCSWYLlUuM6BD8QjHE= Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-1d7354ba334so32407265ad.1 for ; Mon, 12 Feb 2024 16:29:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1707784190; x=1708388990; 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=DKs+1yTn2Kh2ROZPp6elsN7agahGkRma180U23twrOk=; b=BuXRfJDyA4VUXR8VN+36M+aOTbIJaghMxQYzHL5sLjpWvbh87Y8WdXJd1bCEvI37UM 5M/1krFukNF/pFjcBTavU2lAABfxp9uXsR0q/PumLWdQFVUvxfD04uvrce5VYJzHoCTx JiUoBVb1s+yoE1UiMSunzkdNYYNfTJs1nEH5E= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707784190; x=1708388990; 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=DKs+1yTn2Kh2ROZPp6elsN7agahGkRma180U23twrOk=; b=RSB8U2XZ3kFiiNeFljnOD4w7Yo1yg1YcuGz95BUljlMKtuNaJv44s5jYhxGZmWdLvX uzS9f96jkRfYZda3XZAQW6EdWzvkkXEqKezW8Zj8uOvbv/ObK1bGm1T8e+KJIhmJ1aui fC3iL2eGuWPE9IY6E4JTr2ZFabVlObN5GoI4FtfbTTky8dvruHXiA//svKzvMxfakN4R NReZdxp0t+lp73z+JwWrilIhLoZBy2jSnpQC2yG1TWhnPQvvXC/IpuZxnAnRFTxTyYu5 G3O0uC+9M43OYfWLBI8YgzTJMEeepInwj2QPa+2jMzu/pBIk8B9gHZpxxoAzR92q28hQ ZUug== X-Gm-Message-State: AOJu0Yx89phyu4aUKVeKbjTnihrRY1HfzjgCXUxTRcS+lYrVmrz2u4a0 sOPiRrm1SMpEzCrdPrUr+GhLXJPe7gzJdkYEhkP15s3ipf1s9qzxYJ9Res4W9w== X-Google-Smtp-Source: AGHT+IHTwq2t10Br5eWrAWlX4523UplDkmv3JVXV44paU4sc1nmAEQB4OZLvDFkZGFwD3i9lueiMOQ== X-Received: by 2002:a17:902:d4cd:b0:1da:237e:4754 with SMTP id o13-20020a170902d4cd00b001da237e4754mr7884371plg.8.1707784189920; Mon, 12 Feb 2024 16:29:49 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCXTYspgr26zAmL6L4uhxbHpiIUY7JIcEJvHffQhjMFq0/wPHNorS8KP+UHq0XDynmIr8RjAnGUHn1U6RlalFAm27740uYO2418NakZ95TU2Ad9IeAA9Z+7Ba1Tli80eGOx858UddIns0PGZ43yfXktxWJr297mh+Okobwin+ag8nSnZnutvyvfdL/B5tTBsG1ohgqgXCohGGN6S3bgvq1P70kDLIXmQ5vZFmJZZ6RNcrA4og1o7znroFSZY7mjjjxPMwqWhiLReTzN7UE5yCC4yWT8mfsVFXhGOO56iNTa8LzPmSIoWzTvdqty9xePUIsSxOlHUXojCZeELTNRT3uUPoSNnGqSbq6EXPzeeZCPjEreXhnX45l+uWcXhObKNcrTlEEBRmb1MYAOaNYAs7UUJIdXLgEvI3wKqkVXk24hlohbYbQBq4Fd5+juhrldIIIz8dnX3Yr2/Q9iAjXAA76R+v4CMFRBP9+8EvyTyFH0btPkOBqxEKuSuh/t2GKCjue/fRUKrwsNPLOpORdnHb87v6ZhyI1FPZpXY+r4ERqmIJQiFqwDWplU6G/zg3kfpjFq9CAjue0MSARbmpbqsUUM/E83yct4tFysf7M19JMqXmHGgWoMbyiija1rVYP1LnkFZHTTwumdtki9OMm1aH4V2uvM9vyrKgU3tbYEUIL3ukFjvatUMbaRmtB8Kwqgu4z50i9sHnLDM30C9R1iEIyVOyckO08zwrfTTB3ZyGioW29fJQdXAfCciXb8E2sq5Cua/GQG/ZunQSHA03zIdX/FF3ri5fW4nuToOSyAoIdNx9FIKEfy8szQga/QRNEGsn3e0PvUX1e4EB7mlkJIStabla5slbRGZOH5hPtXXjThQLRh9+we8M+t1liHeL1Uq1t2ui0j9dNqwk2XuT8Ip4Qp9ZdJehrj76i79DFXE8OniGRymr5SCpntRoZr815 nvYj8ePF LLb6pPNe8wJimg7yoQYKIqcQxdz/rtZcAqstb8yFq5+OArwu1xDGp8VqzpmjDZnL+qHUmHKUC0zHiZJ9KWQ/d4nE3hwGOtqetqPF20TXKeie7CuxBYkG7Zjbw9d6aCsgrhFTMkvxGy84Yr5OIKwjxLJx9x6phKgPUP8nTDbj+akjJ8q0X43g0oBg7p46O8sd7hkBQQuBQEJGW/Cg+ERGekM5sz4wg4I7IjpwWvMdim0bKrlW2EXIhpjXYiWhT4KaTokCEvc8l/D9WSDN+QTnWSkFAfYBnuJijZSMcCC0rrgQngu6HfJhxf22M1kYQ9n8bWGagoI+CKnFVfAZjfAgU+ODXrvBvjrctUH97FFCV7qo8WLyGJEiZuwwWzCoT1E0BlP1SqSNLrTy42ldDrEKg2xnIriPGegNtuKrOFAzuqMMipx5qbstJMm1jrBY0= Received: from www.outflux.net ([198.0.35.241]) by smtp.gmail.com with ESMTPSA id u11-20020a170903308b00b001d9a146907dsm919916plc.11.2024.02.12.16.29.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Feb 2024 16:29:49 -0800 (PST) Date: Mon, 12 Feb 2024 16:29:48 -0800 From: Kees Cook To: Suren Baghdasaryan Cc: akpm@linux-foundation.org, kent.overstreet@linux.dev, mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org, roman.gushchin@linux.dev, mgorman@suse.de, dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, corbet@lwn.net, void@manifault.com, peterz@infradead.org, juri.lelli@redhat.com, catalin.marinas@arm.com, will@kernel.org, arnd@arndb.de, tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com, x86@kernel.org, peterx@redhat.com, david@redhat.com, axboe@kernel.dk, mcgrof@kernel.org, masahiroy@kernel.org, nathan@kernel.org, dennis@kernel.org, tj@kernel.org, muchun.song@linux.dev, rppt@kernel.org, paulmck@kernel.org, pasha.tatashin@soleen.com, yosryahmed@google.com, yuzhao@google.com, dhowells@redhat.com, hughd@google.com, andreyknvl@gmail.com, ndesaulniers@google.com, vvvvvv@google.com, gregkh@linuxfoundation.org, ebiggers@google.com, ytcoode@gmail.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, bristot@redhat.com, vschneid@redhat.com, cl@linux.com, penberg@kernel.org, iamjoonsoo.kim@lge.com, 42.hyeyoo@gmail.com, glider@google.com, elver@google.com, dvyukov@google.com, shakeelb@google.com, songmuchun@bytedance.com, jbaron@akamai.com, rientjes@google.com, minchan@google.com, kaleshsingh@google.com, kernel-team@android.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, iommu@lists.linux.dev, linux-arch@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-modules@vger.kernel.org, kasan-dev@googlegroups.com, cgroups@vger.kernel.org Subject: Re: [PATCH v3 00/35] Memory allocation profiling Message-ID: <202402121602.CC62228@keescook> References: <20240212213922.783301-1-surenb@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240212213922.783301-1-surenb@google.com> X-Rspamd-Queue-Id: 2ED0E40011 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 49ibzp49zh7mssoq18bcrzjag5ndhmfe X-HE-Tag: 1707784190-192102 X-HE-Meta: U2FsdGVkX18HLWcM2iZDNd1zZoeBmfroDi/I084MsHJBoFnSq/gh8EjaiA9+5BoAbRWK10uw7QPqghbt7Ln7KoBhdtuBYSnyHtvqHGFUfOLtm1+s0hhcNPdZRehGA7HdEOTxE+4lemWWVka6YWXtDSdtpqNRGRvJXHMqoKAdMC5cPdoPAaSL2cuDBQzwKxr/Di0lYNz9QKbPXw5VxGZEVdia52JXD+gGlNIy6zjhWYi28OIqG0mzAPRyeuh/RHeEzVKx8B+WIz+f7HjXZiGHjHfC1VxfOmMWKKLOc56TZ71GC5/3oHiHMEQJyfiS4epZ2HKdvtDFnfWLODJErPeE2i7Ht5yaXpjtf7w6qf3dR4Kbtj3RjjVT91egMkn2jfxfK4IsAbmskYRpEU9iRLItvO2qrfTfFPAIg1bwpbxL6XKr4wpoEFprr+aaeuUfjMKDQ4ZwfvXx+gK8isVQ9Af7h6dSko2KdwHYB3sVQqAdppi16AfYD+MlXpxZrqH+PgKMLzS9dtHObzl4cyP28+e4M6QkyO/DpZSfnfRN0mxGCSOZMaBJ1V14iN05svdSu6baJbIZObLQQzQBbsRQvDGcIFaIlovjqfqD0k/l+X613OlIY4xA5MCxMeHZifbsFhmrXuv01uue6+SCtED340OinZRGFA7Zs7xx1Xr88x252bpaUQQ4MXjAQFQLzsNJWGvooJgZP0+U5ojyr45EM2vo2IR6bRpSEWtFAVZdr3IcmNTly8RXYfnR3mcF8bTS3SjtVRXQelXb6oZxe9xG9qFkyaYby398mzPjALGG+VwcS3Uu3fAMFGWMMiDPyQBqARU0VGoVIyrU8W/7ONF3ShllYou3Y22HWthwerFrQOkDb0j1UDDKy7QuJ1cKPN4K1ylZuXISWzEMiMm87iNplvzuSKDlg3lulZqXAs532qHl+IBrYbsDt8MSeEKERjM7kG3m9or71SkvZR3/CkwhuLC GU+pav/9 lmjzbqKk9h+P9VL2gMIqcwXfu/TpR4xyA0fcagtWeMIeeTSXCfSQdwkIDKkVBD8nRO3cWKqOr+tNUkEY4BMO0in4HeHU7TQ+bP6VCPImaVFsXxe2IcoCkaymkFBFrIMtvBQQ+ZOZ3NlsiZPYRim3wX0c5ptg36EzdCNdfWFmVDPi7U6h8h/jJYxdsNffLN32m8lancCVHSo7j2ChwYgY7f4S2J+lw3/DwocE9awd6jANoaKArJWwiPQdORHmwTtcAb1mh/wqP7gHahco9kjATQmtpm5Be0DJ1mfweK65XcYG7CVZwG+028sUbRc308S7wG4fPXUJWlIfEMO0Gqe0iYeHplPXXH0w6KXj9AqatbWdL31luZzVKoxQ4cfrc7tM6pu0zNZHualuZt9bwUtI+Hwm3HLdf9pIZsudbvgCpdT6Vx8UG1pMP0YQARflp2AWBf7GBCL3jq4ql4eEMFQ00uSCjllftg3xGNvPo 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 Mon, Feb 12, 2024 at 01:38:46PM -0800, Suren Baghdasaryan wrote: > Low overhead [1] per-callsite memory allocation profiling. Not just for debug > kernels, overhead low enough to be deployed in production. What's the plan for things like devm_kmalloc() and similar relatively simple wrappers? I was thinking it would be possible to reimplement at least devm_kmalloc() with size and flags changing helper a while back: https://lore.kernel.org/all/202309111428.6F36672F57@keescook/ I suspect it could be possible to adapt the alloc_hooks wrapper in this series similarly: #define alloc_hooks_prep(_do_alloc, _do_prepare, _do_finish, \ ctx, size, flags) \ ({ \ typeof(_do_alloc) _res; \ DEFINE_ALLOC_TAG(_alloc_tag, _old); \ ssize_t _size = (size); \ size_t _usable = _size; \ gfp_t _flags = (flags); \ \ _res = _do_prepare(ctx, &_size, &_flags); \ if (!IS_ERR_OR_NULL(_res) \ _res = _do_alloc(_size, _flags); \ if (!IS_ERR_OR_NULL(_res) \ _res = _do_finish(ctx, _usable, _size, _flags, _res); \ _res; \ }) #define devm_kmalloc(dev, size, flags) \ alloc_hooks_prep(kmalloc, devm_alloc_prep, devm_alloc_finish, \ dev, size, flags) And devm_alloc_prep() and devm_alloc_finish() adapted from the URL above. And _do_finish instances could be marked with __realloc_size(2) -Kees -- Kees Cook