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 815A4C77B7F for ; Fri, 27 Jun 2025 11:42:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0F81F6B00C3; Fri, 27 Jun 2025 07:42:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0A9A26B00C5; Fri, 27 Jun 2025 07:42:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F01346B00C6; Fri, 27 Jun 2025 07:42:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id DCB6C6B00C3 for ; Fri, 27 Jun 2025 07:42:24 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 36E1A80687 for ; Fri, 27 Jun 2025 11:42:24 +0000 (UTC) X-FDA: 83600992608.13.7361864 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) by imf01.hostedemail.com (Postfix) with ESMTP id 34AC240005 for ; Fri, 27 Jun 2025 11:42:21 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=IfcUOhJ0; spf=pass (imf01.hostedemail.com: domain of urezki@gmail.com designates 209.85.167.50 as permitted sender) smtp.mailfrom=urezki@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=1751024542; 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=tmPrqaqhW+EK4H5tg98y4zFWAy9fgrveP3Z8NDC1wKI=; b=N8ALpoP0GnehtCaIs2WE83oepuABgeputiWF5OC6jzhwVO7uJlZaUrhpZEcWgKsSEUaYIR XHmU+OeJ8gPwOzmq4CkuVxfGcN3C0qrmQalI2T6s1dE6PklENBzBfhaj/jfRFUzy44aEMg ty0shrO8EY/gyC4PUe/nbMEk88ueuYc= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751024542; a=rsa-sha256; cv=none; b=LFSGb6G+xECYXz+0QuApuHy3B5zejyoOq5f2L4Mc0ib8Mygvn0JGrcyig5ysEV3XTpuf5x 4VSnEtLsuBokASZDXZCKdu+pTgprv1/rM3onDD7UEz4KaV2pJLCtczlhs+TCNbXWIvaoKt NX8dEing3ZoBJvTEn+gSjEx372R/gp0= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=IfcUOhJ0; spf=pass (imf01.hostedemail.com: domain of urezki@gmail.com designates 209.85.167.50 as permitted sender) smtp.mailfrom=urezki@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-553e5df44f8so1887507e87.3 for ; Fri, 27 Jun 2025 04:42:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751024540; x=1751629340; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=tmPrqaqhW+EK4H5tg98y4zFWAy9fgrveP3Z8NDC1wKI=; b=IfcUOhJ0Pwr02DHS/n2ufwzQVzV4zLJVkN8HQHY4txQTxwQSi07jRJ+iiyrK4ZWEJx a2z/LJLBhma1dhNldN9vAYt/scfJMmiyTvYq4dbhlk4f7NcRn+gkv0tAA8xoKbfK70Qb cnBd52z7OYH9/XE6IrlB5X8YdTRKc0YpmjShrYYWDy7Qi8GLiUBS792FxkHV9SIdlxTa eoTXOU6Ft9HVUJRlz+4m24LQGuWMQ7mqJiFafsj6ea1wL82e0fFFS10UKrO2eiSx3jhG 8atvj1VG+ZvOVyEElab5VZaJjil4sfwVdkc6GYK9VSpuTp1Y8Ydfalmf7WKZuYWY7XJI nQXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751024540; x=1751629340; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=tmPrqaqhW+EK4H5tg98y4zFWAy9fgrveP3Z8NDC1wKI=; b=sYTSEwv+sEwhjGz3aHxYKQdgBrvRxmdcbh3nLeKp+laOULXB0zvOYFJ8PKZUHoxH3g V9W7REub3UR5tM9hgpdG73+K1a/RavswodMAQeAS8BUEl4x3VigsS5Ow8sUT+5UO2FSk tlc/t4/gb9jt4WRmPX3Pdeb184y8LC6jLPZNhbqBfdWLhDpPyaCetfigiBbtNgVwUrui jlVNxMrjpV4IIiDNUS59kWd3lIAkJdEhjK7Er7s45GctNr0q9pbnQFDztQog/JuFy2TX ZrD8dXDqEZ9T3aozs2rdtZRU+dQpZXPExVpVzL1twvNgtJ6Axz0WXJqW4B0+B4EtgMBU 96sg== X-Forwarded-Encrypted: i=1; AJvYcCUaBp4zb7EHJkkg1WYj01RdJ9u7PV0bbyFKICNGlNJx8HtU6kxw0ugQPW9RCSNdH0LYcz84IMKmPQ==@kvack.org X-Gm-Message-State: AOJu0YyFahBECibjqkzLosIApBUjkVl5Gcdjidml9K7gQn6y7xQ85HeM ervhZm+yKo1DaMyjLFae0C4h7EZ6KJxZGeFBBCaOKULBdIlalHVrohw8 X-Gm-Gg: ASbGncse/dkk5SfxsRHBuS24c6jibK5m86+7mwuPcAfnzE23AP4VdGEt8NQPmYdqXYB xfrAJUzouoUpFuY5Xn0lequP21gyXca31/WmLHwO2FgdQV37Mi09aPHVlj9R1RksmQgVL7h2D5G sNXfP5e1Sd/a7nDW5qnqHijBEbckQWA7UM4cEQMG23SwMsIbEjrd+TC5sxT6pZodG3LZiCwAAJb P5J7mEk2DJPhZPRz4k7FQpVTGA5dOIiv0iKI12/tfXTuTDKPEkDR5O4ku3LB6hCOT5fqfgmkKF6 pHnqRSruh3JCRqbHTLQWBAqtrjfTL/KLBCHikxGNSj1bJNQ6rutrMb0/NugZkyI/UhfldnKiokY T5gSiaO1W8dE= X-Google-Smtp-Source: AGHT+IEy7VhPgAWEXO/LXQ0C8S+wuoF2yCySoHfhr2ctNDV4hnMQQJxvZ9qI5HLKufPyjdWQvFs8lQ== X-Received: by 2002:a05:6512:224c:b0:553:ad81:4de1 with SMTP id 2adb3069b0e04-5550b8253c0mr973628e87.24.1751024539809; Fri, 27 Jun 2025 04:42:19 -0700 (PDT) Received: from pc636 (host-95-203-1-180.mobileonline.telia.com. [95.203.1.180]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5550b2ec0a7sm414748e87.237.2025.06.27.04.42.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 04:42:18 -0700 (PDT) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Fri, 27 Jun 2025 13:42:16 +0200 To: Danilo Krummrich , Vitaly Wool Cc: Vitaly Wool , linux-mm@kvack.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Uladzislau Rezki , Alice Ryhl , rust-for-linux@vger.kernel.org Subject: Re: [PATCH 2/4] mm/slub: allow to set node and align in k[v]realloc Message-ID: References: <20250627092901.356909-1-vitaly.wool@konsulko.se> <20250627093714.402989-1-vitaly.wool@konsulko.se> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 34AC240005 X-Stat-Signature: 3w7iajspcywyqmgwnp5pnp6ao7dmid79 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1751024541-246079 X-HE-Meta: U2FsdGVkX1+xmO6ZjmCO22yysqCBLBEkAsLNKzoJnWdAa5e30a9r9QgMLl3dw4hGLoSoSFLVrD2IjqXY/HE4t1DFOiV5fS3WGcZbB9MSM55wtRLrx8Rb8esdmyyy96B1NUAlg5FaCsqVKpzOehSRPACafTTnwq1QyNcJOrWFWnQBqgRTjyGKXv6pb1cWz7BdmL8UH6NxqT/4IU2BIEu3pFtKBmv3v0EKJ0MGgWqKDm2VgCAfkcjJURjM47fRFw0A8dKDLLMFWjADWtsgTAtLj1EjVYK9Sp8oCjoeCHUNTQN2fsdEeKNrs6KWLQBqM7/FJMpLl+wbHF7QnF14MWU14CX+XbGQZWr5fKU8g6AMisLIKkag2IGmhXLqktxMI6vJiVJJuyQzYkvJptbLoAqKXl8qnEg6DaCtCUOGDkdFT7huP/PP23Tcd07AJBVQECIBwfebHYuunBSfQYCkgjVocn3ECn79N6jY6RPI+XBIAEvcpjSI5edzZNnLNbKgY3da3T6r00PHU2wBnAbAYRhXv1pe6OD7I7dfzllStEZ2AXYEGss4WT41SvBjE0ZB4lJerUC+KSvsTfJIMX4nSyRso7zofRtCbb93Pt373MaCHi4P0jZy75YN20rKREHXgQCr3jIGe4QGuqDVYWiNhmo9Ks+HstjNEnc/JnTJIdEdh6j0jrwLPpnIBql3jJ0NphOUDgGwRb5hLUY36JdKZyeYz/Z6lligASmlsge9K/dPEj/7XQVoq+VZaXSyeIPihrBvl1etx7CvedU9DYeP+P0wQYpf4ez1IN3KX4u7gfvzkOHSWljtb6ochin7S4yXy/JusJf11zs/jfeDqAI2cgWc2F1Ue8o+rjY5tbG+xmeBb11hYMg0xW+LLMxTzQ9YqjhWThGc8ZwuvbCN4Qs5RZSzbDiuwgS2ZiUF9GANRt1wHSsHMMCok6MBGvrl7HiHn/10Vxhltc1BdCqKv4Lb4gC QRFmHsWm dBoBGk8i5f97ghHnwQXiEGcwazXhijhK0sYuNuDtW9rL5rfQ0rAz0ZrkeKmhf35OSdZkLm8oRN8DkQF3NZqsuvcQKihhEFOFqT3NGovDFN8wdsW/5npLwQX24mlekWxkLUVxM44Mcr/t1apN5CRcSwNXtAiRrwTneeF4G92VXJAjRXOJaTvYA1euuGoTB3yFyLC1VjgngVNfa2iW9Dzo3l3m1D4P4HbhgcQrWEFTdREnc2hecAK6heZAxbnK5VtkW5a8waorMiXxqQ2z2CZAyyaHbUrSCSYwYndD4Pnpgan/V31eHV+4fXzDTx/qpxuCu+hX+C/O+cgv0SD9+zp702x+AZXrH+giuFb+6MaQSDeZSS2iOsPYsaEImizR3KSjvHANO/ypXKArD4OPLiGLcfZtJpOTw2+28Hl+mTuadIXXi5Dz12ENdjeUAFQ== 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: Hello, Vitaly, Danilo. > 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) > > I see what you're doing here: > > You created vrealloc_node_noprof() in the previous patch, taking the following > arguments: > > vrealloc_node_noprof(const void *p, size_t size, > unsigned long align, > gfp_t flags, int nid) > > And now you're aligning the newly introduced krealloc_node() and > kvrealloc_node() with that. > > 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(). > > Generally, this makes sense to me. > > However, now you consequently have to add the align argument to kvmalloc_node(), > kvzalloc_node(), kvcalloc_node() as well. > > This is what creates this huge diffstat changing all the users. > > 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. > > Instead, I think you should introduce vrealloc_node_align(), > I am probably missing something. Could you please clarify why do you need the vrealloc_node_align() and other friends? Do you have users which require vrealloc() or kvrealloc() to support nid and align from Rust API point of view? Thank you in advance! -- Uladzislau Rezki