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 E6F31C2D0CD for ; Wed, 21 May 2025 15:37:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 867A06B0082; Wed, 21 May 2025 11:37:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 819666B0083; Wed, 21 May 2025 11:37:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 708916B0085; Wed, 21 May 2025 11:37:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 51DBF6B0082 for ; Wed, 21 May 2025 11:37:36 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C5ED01A09A0 for ; Wed, 21 May 2025 15:37:35 +0000 (UTC) X-FDA: 83467319670.06.3D9801A Received: from mail-yb1-f182.google.com (mail-yb1-f182.google.com [209.85.219.182]) by imf12.hostedemail.com (Postfix) with ESMTP id E17D740009 for ; Wed, 21 May 2025 15:37:33 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=NiKcmeoN; spf=pass (imf12.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.219.182 as permitted sender) smtp.mailfrom=joshua.hahnjy@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=1747841853; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=LXz9lx51WkGfQh0LsBFFBo4w6d+gyQqxpGMLfxBRNqY=; b=wbMityNQL1Xro/3bHNScy2asCUE7kmeRThEZSkfA2Js/vrL2qUn1K7PM7wSI/zJoELpBkL 1ycpcrINPMgAdLdtw6XDqq/PkCpyBaTGFox77OGr5ry+RU+6BdCBfbiTqzm1ELoxtU94Zz RF0XAFCO+zeAOm52yELN4EIxVcMyChU= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=NiKcmeoN; spf=pass (imf12.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.219.182 as permitted sender) smtp.mailfrom=joshua.hahnjy@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747841853; a=rsa-sha256; cv=none; b=yy9kuhWjy8IET4/BgAOCljC2H4Voca4Atgc8T/N5OQL7QNTjuE2mW2+w1oaFaCMTZ6pBeD eT5m6ni7Efw61x2oLvLTqrTF1byNVpyb5xZdmZdZ86Rn/vDdBi765dM1HHnSYSNSBYVSdK jku0NKzyCBMOeQZ4hWzKpHVqr0wrDLY= Received: by mail-yb1-f182.google.com with SMTP id 3f1490d57ef6-e7b9972069dso3610145276.3 for ; Wed, 21 May 2025 08:37:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747841853; x=1748446653; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LXz9lx51WkGfQh0LsBFFBo4w6d+gyQqxpGMLfxBRNqY=; b=NiKcmeoNGwka1OMPUVInVD/fLqZEyC4qqNmwBLtIz0UW9fakA8nMCGfHIQrWDd4tup pwcrmtemh3/Sats2JQZiEAA11NpiNkjXfq6srctGOoupc1z/ZqlkDHRiBWPXymDvGf0o 8/6wpODMPIzBt5hM7PLKukpuDkG71YDWsTFQe1JlGRndTctI1x3+4V4TTXfWkENKh/GW MHF83HCKE2JgFSt9PCh/AYW0OCqwhnPRxYgj+bSWvlYkg9N6TFdDpyfQxqVsp0GUn6z0 Eez82SR5jzM5Ebtwh4JfPg8e5e0C01M7nrwIH+xP8tIElt/f+izGLdR0rZVpcrDhhxsk bwIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747841853; x=1748446653; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LXz9lx51WkGfQh0LsBFFBo4w6d+gyQqxpGMLfxBRNqY=; b=VnO2huD8LpDWg09jaYsgnKW/9XMLOD9kDWL4Zfhlm5WReI2UAQxwkr93Lb4wv9UF42 ihhwvdY6bfcZiDG2/6R9MXy65TGUOYj6PmlksjYHlzYVbBTbXMBgNOTy1yh0WgH1je9m Fkoc/M9gSMPXBX+sxi/DJQWuy7G0EzXEBl9xMgY/ZMG55agogy6kOvb7hbNiZu+2zXF5 IF4V3Oy+buImz/UkecgvPRgGXwK7ld7y2S5K6b2QD7BRNk96A8TsnnddLkwLQ8qbk8Og dI1Qv64z45a90CFzOUfCpYkuggXuOxIMX3KQ/ZoRsP1790yUREdS/oxPR52B3SoCvyzU zRXg== X-Forwarded-Encrypted: i=1; AJvYcCV/JZhQ4M4hUSUzr3EDlXri4J8Wi1+zyegObhNrZ8Tsv6cY5nQz4OCpu+GOITnSe5tqHBn81wjgcg==@kvack.org X-Gm-Message-State: AOJu0YwYlL4OILaFP24fR80sRyxHks39oEfpHt0jtwLo8v5/TA9zoAEA gyCSvGAClGGgTF9rjYwuEBm1Z2xb8P1HlfxjFWo65JYCJiH0Aw42pWjH X-Gm-Gg: ASbGnctsqE5yRTHYe6NnGyosgC5a6fUXwt7Vspe3areU1hhE6NXT/WCwrPaKNHg6sfz yv0+6rmcZjSdNUbayLRihXEeE0nKG3SnfTiZjFW3gn22qXQzT7uQmgp6OkVXGIfuql3zmsz3Bhz OrK+k0iBT4v5pCqenRTiK16C+2dLvN7yGhJrM2GJlluCzPcB3Ao2BglksqbEPkhodHEtKqe9k3h DeCipI03tLIgr+yCRczs5Xaf01ktQar7HyY9jJoZnVg+CiCvI3wEV7CUeLRSDJsMDdzMajTDRJS WSrp71o/Hlj3Tx2jSo5Goq0rYYbqNypOBFiQ/hTkmo66zBTaxIw= X-Google-Smtp-Source: AGHT+IHcTIpbOksovtOKwx3AWf8/MFLrvERSTWegMnFdec2dXutO1vy/yF+FCzS5NzXtLN5i0iqqNg== X-Received: by 2002:a05:690c:450e:b0:70d:f15d:b18f with SMTP id 00721157ae682-70df15db251mr50542587b3.26.1747841852839; Wed, 21 May 2025 08:37:32 -0700 (PDT) Received: from localhost ([2a03:2880:25ff:71::]) by smtp.gmail.com with ESMTPSA id 00721157ae682-70ca852dee4sm26808817b3.113.2025.05.21.08.37.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 May 2025 08:37:32 -0700 (PDT) From: Joshua Hahn To: David Hildenbrand Cc: gourry@gourry.net, akpm@linux-foundation.org, harry.yoo@oracle.com, ying.huang@linux.alibaba.com, honggyu.kim@sk.com, yunjeong.mun@sk.com, gregkh@linuxfoundation.org, rakie.kim@sk.com, rafael@kernel.org, lenb@kernel.org, dan.j.williams@intel.com, Jonathan.Cameron@huawei.com, dave.jiang@intel.com, horen.chuang@linux.dev, hannes@cmpxchg.org, osalvador@suse.de, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-mm@kvack.org, kernel-team@meta.com Subject: Re: [PATCH v9] mm/mempolicy: Weighted Interleave Auto-tuning Date: Wed, 21 May 2025 08:37:29 -0700 Message-ID: <20250521153730.2196701-1-joshua.hahnjy@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <25283dbd-2867-4034-bb16-951e0fb81843@redhat.com> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam10 X-Stat-Signature: 1rd4ssmcs6ms41xrkdedn5m5xetuz994 X-Rspamd-Queue-Id: E17D740009 X-Rspam-User: X-HE-Tag: 1747841853-598427 X-HE-Meta: U2FsdGVkX19zZ4UVMkCqNhEGllgf3io0i57jVIqifWK8Oy4BCUaOvDDNJPRk65YVKDWdn/09n8uLaDkuJfw5oAPASGPBwFAWxCJjket6OlXusWPC1hHqP/urzqf6XREUJR+NcQU4DTm+2fpeCSrbnAUuW2arqtssEdzQF9t3xulkyvs6I7F8yZIHN6BRgNZnsC4u/h5+prW8K3ij2a6r5GnBwYCyrprmxOUmOw5ps68YmVsfvRIZo4w6Eud/zAZ6RiJFBb0y26Ul9J4l70RE6Ko7C5JN4w3BYr8b54U2wzrkg3fVrTx9mTk6Q9mjIwjbM0mk/Vceo2tJYag2AomYNgvHxKAuJcGe98OJ+wsxdiuXn5dyVyrk6JqjxJCpQMGX4p1jsssf6wegTZxAAVnbq3SL8ZEIkzzFklFK8Un8VDM8kQc7lURTf0NmgOgrd2lPDpFf0M2MWtskj4Uo62qyetdOOjxQzKcQ4jXyPnlKyi47w57NtuJdY4Ar4t973sraPZg3VTjfII8XiK7jIB6ovsr+Vu6jjP9fKRoVkG6HEUxx+VRN1JLIoIeeQT00MR11T9U3+zdQEgAkDvIxpj52ek6VtmE8NV3Tj3yDg/t/cyWhLO9kxukS63A6rpmb015cbWc5wVQYSbtTDVLb+ik7ZIKGO+JBrlBdu0WaODBlV5BbQyLYEOSy18rXagtw/h6pLLpd0wgKUQDhAyWi87LLyKZ/7tckZhMcSWUg7u2MX6dDgR+sSL8cepScQxv9kfkfYRW/lQ4nYJw6CoBeWqWF71YbhKXc+aSHxS7J4e/iZYA5uLqsCpcxrKZHaWUN7OTdZ9cVwNWJiHHFgVryZfgGzFT2CJBOb/56ccNqwv3ZUO9GiNE+j0F0SGGkiEm4++n0u/jIFgqpJXbgzkk4cSKrh/JKXvjXWIRYTFMpa7LGRbw2zdW5yNEQq96vjr9Dvd55J182qFIVnytiLO4ClvJ LU8Iyqvi ROWMPhfuCiwHZyYNyWKBqcxp6jdcml7St0x+15nDp+8yZLIapmhwo07f30tXuKD9C8w28sbJaCuBvlHpSy8jz4bs+jjUBktMAcr0mPsKF97wKee9rM5p9CmFoVHBehw7WWEUNUVRyo6wxPjYwHKxHHK4Gw/IzBzpc0BJUsjMe8dT9/lz1qRGwcTrxWotAUa63xSinKcTv1vDLiIfeHZkTHCqdg1SqdEKcpuRReOWp7M5sIzxJcbeyUFJyzd0NcMY3AW/0ijk619cwcF84Aw8j7n3eiHQ9LgBRu/i70sP0ry7DGBIlzL86jssKSseeVSz4EFysr/ndxkr7UPSoYNYEE6Rz3ENzXvesceHkSKgk3fXTQD49HecoNFfn+u7DPCoMpSoFyP2FHeg6EsURR4S162X292eQ46uE1zRiLwo31F5CjnEF/3PRsfZ5QSHnByXpwdTUjFazyu+ZlboSjjd1bW5ZDg== 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 Wed, 21 May 2025 15:04:00 +0200 David Hildenbrand wrote: > On 20.05.25 16:12, Joshua Hahn wrote: [...snip...] > [...] > > > -static void iw_table_free(void) > > +static void wi_state_free(void) > > { > > - u8 *old; > > + struct weighted_interleave_state *old_wi_state; > > > > - mutex_lock(&iw_table_lock); > > - old = rcu_dereference_protected(iw_table, > > - lockdep_is_held(&iw_table_lock)); > > - rcu_assign_pointer(iw_table, NULL); > > - mutex_unlock(&iw_table_lock); > > + mutex_lock(&wi_state_lock); > > + > > + old_wi_state = rcu_dereference_protected(wi_state, > > + lockdep_is_held(&wi_state_lock)); > > + if (!old_wi_state) { > > + mutex_unlock(&wi_state_lock); > > + goto out; > > + } > > > > + rcu_assign_pointer(wi_state, NULL); > > + mutex_unlock(&wi_state_lock); > > Just one nit: if written as: > > ... > rcu_assign_pointer(wi_state, NULL); > mutex_unlock(&wi_state_lock); > > old_wi_state = ... > if (old_wi_state) { > synchronize_rcu(); > kfree(old_wi_state); > } > kfree(&wi_group->wi_kobj); > > You can easily avoid the goto. Ah I see, thank you for the suggestion! I think we would have to move the "old_wi_state = ..." to be inside the lock and before the rcu_assign_pointer since wi_state will be NULL at that point if we do not, but other than that, I think this is a great optimization over the version I have : -) I will send in a fix patch for this later as a cleanup patch, if that sounds good with you! > > synchronize_rcu(); > > - kfree(old); > > + kfree(old_wi_state); > > +out: > > + kfree(&wi_group->wi_kobj); > > } > > I'll note that this rather unrelated churn (renaming functions + > variables) is a bit abd for review as it adds noise. Having that as part > of a cleanup patch might have been better. I see, thank you for your feedback. I thought it might be necessary for this series, since I embedded the iw_table inside the wi_struct, so we can no longer just free the table, we would have to free the entire wi_state it was embedded in. I apologize if this was difficult to review -- I agree that this patch was on the longer side. I will do a better job of isolating parts of the patch in the future. > Nothing else jumped at me (did not an in-depth review of the logic) > > Acked-by: David Hildenbrand Thank you for your Ack, David! I hope you have a great day!! : -) Joshua > -- > Cheers, > > David / dhildenb