[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1ccd6411-5002-4574-bb8e-3e64bba6a757@redhat.com>
Date: Wed, 9 Oct 2024 10:53:08 -0400
From: Waiman Long <llong@...hat.com>
To: Kuan-Wei Chiu <visitorckw@...il.com>,
Christoph Hellwig <hch@...radead.org>
Cc: xavier_qy@....com, lizefan.x@...edance.com, tj@...nel.org,
hannes@...xchg.org, mkoutny@...e.com, akpm@...ux-foundation.org,
jserv@...s.ncku.edu.tw, linux-kernel@...r.kernel.org, cgroups@...r.kernel.org
Subject: Re: [PATCH v2 0/6] Enhance union-find with KUnit tests and
optimization improvements
On 10/9/24 10:13 AM, Kuan-Wei Chiu wrote:
> On Wed, Oct 09, 2024 at 02:09:51AM -0700, Christoph Hellwig wrote:
>> On Mon, Oct 07, 2024 at 11:28:27PM +0800, Kuan-Wei Chiu wrote:
>>> This patch series adds KUnit tests for the union-find implementation
>>> and optimizes the path compression in the uf_find() function to achieve
>>> a lower tree height and improved efficiency. Additionally, it modifies
>>> uf_union() to return a boolean value indicating whether a merge
>>> occurred, enhancing the process of calculating the number of groups in
>>> the cgroup cpuset.
>> Given that this fairly special union find code is obly used in the
>> cpuset code, please move the code there rather adding more exports.
>> Even as-is it is bloating every kernel build even without cgroups
>> for no good reason.
>>
> I noticed that it was Michal who originally suggested putting the
> union-find code to lib/ in an earlier email thread [1]. Before I send a v3
> patch moving it to cpuset, I'd like to hear Michal, Tejun, and Waiman’s
> thoughts on this change.
>
> [1]: https://lore.kernel.org/lkml/wu4m2m5igc752s5vrmtsnd7ekaq6opeqdtrzegs7oxlwgypdcx@qhcnow5txxiv/
>
> Regards,
> Kuan-Wei
The current union_find code is pretty small. Putting it there in lib
allows it to be used by other kernel subsystems when needed. I believe
it should stay in lib. If a slight increase in kernel size is a concern,
we can update the Makefile to make its build depend on CONFIG_CPUSETS
which can be taken out when it is being used by another kernel subsystem.
Cheers,
Longman
Powered by blists - more mailing lists