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 12234C77B7F for ; Fri, 27 Jun 2025 11:57:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 92C796B008A; Fri, 27 Jun 2025 07:57:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8DD596B00C7; Fri, 27 Jun 2025 07:57:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7CD066B00C9; Fri, 27 Jun 2025 07:57:58 -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 689446B008A for ; Fri, 27 Jun 2025 07:57:58 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 389F2BADF9 for ; Fri, 27 Jun 2025 11:57:58 +0000 (UTC) X-FDA: 83601031836.18.920B45A Received: from mailrelay3-3.pub.mailoutpod3-cph3.one.com (mailrelay3-3.pub.mailoutpod3-cph3.one.com [46.30.212.2]) by imf24.hostedemail.com (Postfix) with ESMTP id F323F18000C for ; Fri, 27 Jun 2025 11:57:55 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=konsulko.se header.s=rsa1 header.b=qozhM4Hq; dkim=pass header.d=konsulko.se header.s=ed1 header.b="6iOIYct/"; dmarc=none; spf=none (imf24.hostedemail.com: domain of vitaly.wool@konsulko.se has no SPF policy when checking 46.30.212.2) smtp.mailfrom=vitaly.wool@konsulko.se ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751025476; a=rsa-sha256; cv=none; b=s32s15f1dSjVqLznJNnEtT7LB81HDW5SfPJy5dBiZ0Vz254m5P7lNYWGWUVb45uUUzFYR/ LAeIE9LL8atv7A2obLfeHFaiS+6Gnoh8xpkk3wprcEZLlXpfRPrGq3ZADCb+KQMdeZcZLf kh/oLsgUi0oUn0/ehX8W4GtHbfoTL+w= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=konsulko.se header.s=rsa1 header.b=qozhM4Hq; dkim=pass header.d=konsulko.se header.s=ed1 header.b="6iOIYct/"; dmarc=none; spf=none (imf24.hostedemail.com: domain of vitaly.wool@konsulko.se has no SPF policy when checking 46.30.212.2) smtp.mailfrom=vitaly.wool@konsulko.se ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751025476; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=4PdaIEcY8aBWgtkPAUuRbOlSr6D+EmVvejyVXqlJr0A=; b=LZXcsr1jsZi4wl/M60vJLAepFrNI4vJGkmtlDw7jp0eyiCBixyKMVQrB2ktwV/QrHRrN0D cHwoXXv5qogchia2KE77wmWnkZGBGeH4CGem88Qnv8RIfEM2+4+d5FTBsv/PbckGsqaYBe 3iahyPf6OGwI3guaGPUKWDwenZ7HP2A= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1751025474; x=1751630274; d=konsulko.se; s=rsa1; h=to:references:message-id:content-transfer-encoding:cc:date:in-reply-to:from: subject:mime-version:content-type:from; bh=4PdaIEcY8aBWgtkPAUuRbOlSr6D+EmVvejyVXqlJr0A=; b=qozhM4HqoHtcgGiyVg67H4L0GJDL/hBJSY+yhZ3T8EN60NwiCNmNZTDV+OiRkMVD8HUefDL8oYHuQ w33LXv9DBkJHAtTeYsaz2svu6uUfSTuw0bpNAeu3cEF8zAhLAh0NdiWlhZ5HISBgn9d1pPzk80KUoq kLWVIqi6FRK6p2mBUUHzVrNjbBW+mIet7WFSeltHJkvhzBGC4uMKIR4g1R3fnVK/SmPE7P8VIVTY4j TtkWco3rlPhYNVBw/EWWpTMU3uV+JqhF7CdXDG9Ns3idD940GjWYP/T91bWaybJdj6rKRzgsfodulZ t3YZu/7vN5LpKKZuR5XNO+pAFJWrQrw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1751025474; x=1751630274; d=konsulko.se; s=ed1; h=to:references:message-id:content-transfer-encoding:cc:date:in-reply-to:from: subject:mime-version:content-type:from; bh=4PdaIEcY8aBWgtkPAUuRbOlSr6D+EmVvejyVXqlJr0A=; b=6iOIYct/d6Dr+BZvwWUmRemw/Wzzw2zxdPveU4k7HRtox8G6GMw/yyZvUZARQZae+ZawMA0bUfFxx lRoeRczCw== X-HalOne-ID: f4a52dae-534d-11f0-9dd3-2b8368a4d5c5 Received: from smtpclient.apple (c188-150-224-8.bredband.tele2.se [188.150.224.8]) by mailrelay3.pub.mailoutpod3-cph3.one.com (Halon) with ESMTPSA id f4a52dae-534d-11f0-9dd3-2b8368a4d5c5; Fri, 27 Jun 2025 11:57:53 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.200.121\)) Subject: Re: [PATCH 2/4] mm/slub: allow to set node and align in k[v]realloc From: Vitaly Wool In-Reply-To: Date: Fri, 27 Jun 2025 13:57:43 +0200 Cc: linux-mm@kvack.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Uladzislau Rezki , Alice Ryhl , rust-for-linux@vger.kernel.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <20250627092901.356909-1-vitaly.wool@konsulko.se> <20250627093714.402989-1-vitaly.wool@konsulko.se> To: Danilo Krummrich X-Mailer: Apple Mail (2.3826.200.121) X-Rspam-User: X-Rspamd-Queue-Id: F323F18000C X-Rspamd-Server: rspam10 X-Stat-Signature: t5w7646qma4a8cpmsmm4jq8nyzwm9fig X-HE-Tag: 1751025475-837576 X-HE-Meta: U2FsdGVkX1+iCbK7cJcNDI4x85XgO7DpIqto3FRAHSSqYtZSgVBZAaWo+ruhWmDehVcRRktcrwSbBuQEhVIDnKEgFyjxp6udH2Cpa6ZqHN3rbCGxSi5mZX8t3Ho+7dGwLnzMqiTLOQGn4xyRxRrZfe61B87/lfKlnqjwtgoQhRZFsMDmcifjeAd2N5Y/C8xZQpqkQEsxsV8KQrw7pJ7XlqtPtgY5Ni7cL79R+E5FnoCTzK9mvZjeLn7sJtoxciFtmJa2hh/XiNHB1TQ0qVHElW3LSYjw4UjJ93+uun14fgx9QLfKk2h66A9oJkQkrquu/4/Dz2GIoBNJy0Z6Xb7W4SnR3YBzB10FjyxN2rpDoK+9L6bRwbiYD40PPBkBd1H4ZuTQ5c4fYFD4hDOLreJFar+7MPiif7YQzx2jL9QF3vGAmBO/FaXmKrSBS04QFhgda+fA/bvNFw0KvTfSbcg3BuDTRH7QaqI3ECniD14drdDLtWt7J0eH21JaMW1DByZnP6ZD+ST2boofj6BmLLyw0Ck7vdOOwOGOoPZmIjQFN6lBu41HblnqzqC5PMbJVHKxmKiQk9cN3aqt7tK4m395pfQwgaxywo4aUJMReI4HMK8y7TvNzHAh02wCJ1QNWYqNUUnsD3/i7loLyZmukg/g+p5qroXrqVMmiG9eJHs34B6FM1wp+/7VpbTHhUyaneOnDL81RkFt54PnZ7s6/zg+hImqPymUho+e6ebMAOyyxUbCv4j0CAu2k7VykDoRvSm9WylSAIty1x5VrjsFAMDYQuAUHy5bCSV5hDFBThAZ60b5ai4syOiNWSCu4UMTMSK7C4scwXb7/obRVU2Pz/GyB2eA8mfbwziwQox1hYh/M3gCU7YRWF4l+FRfSkBoAM7m8ZJcnVOVGI9zgMWMznGuJ/1gwQhX4/MM 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 Jun 27, 2025, at 12:41=E2=80=AFPM, Danilo Krummrich = wrote: >=20 > On Fri, Jun 27, 2025 at 11:37:14AM +0200, Vitaly Wool wrote: >> Reimplement k[v]realloc_node() to be able to set node and >> alignment should a user need to do so. In order to do that while >> retaining the maximal backward compatibility, the following rules >> are honored: >> * kmalloc/kzalloc/krealloc remain unchanged >> * kvmalloc/kvrealloc/kvcalloc remain unchanged >> * kvrealloc remains unchanged >> * kvrealloc_node is implemented as a new function taking align and >> NUMA id as extra parameters compared to kvrealloc. >> * krealloc_node is implemented as a new function taking NUMA id >> as an extra parameter compared to krealloc >> * kvmalloc_node/kvzalloc_node/kvcalloc_node get an extra parameter >> (alignment) >=20 > I see what you're doing here: >=20 > You created vrealloc_node_noprof() in the previous patch, taking the = following > arguments: >=20 > vrealloc_node_noprof(const void *p, size_t size, > unsigned long align, > gfp_t flags, int nid) >=20 > And now you're aligning the newly introduced krealloc_node() and > kvrealloc_node() with that. >=20 > The idea for having an align argument on krealloc_node() simply is = that it > fails if the alignment requirement can't be fulfilled by the = corresponding > kmalloc bucket, such that we can fall back to vrealloc_node() in > kvrealloc_node(). >=20 > Generally, this makes sense to me. >=20 > However, now you consequently have to add the align argument to = kvmalloc_node(), > kvzalloc_node(), kvcalloc_node() as well. >=20 > This is what creates this huge diffstat changing all the users. >=20 > IMHO, the problem here was introduced already with = vrealloc_node_noprof() taking > an align argument in your previous patch, since now you have to adjust > everything else to logically follow the same naming scheme. >=20 > Instead, I think you should introduce vrealloc_node_align(), > kvrealloc_node_align(), etc. This way no existing function signatures, = such as > kvmalloc_node() have to be changed and no users have to be adjusted. >=20 >=20 Yep, that makes sense indeed. ~Vitaly