Re: [PATCH v2 0/6] Enhance union-find with KUnit tests and optimization improvements

From: Kuan-Wei Chiu
Date: Tue Oct 08 2024 - 02:33:35 EST


Hi Tejun,

On Mon, Oct 07, 2024 at 06:19:10AM -1000, Tejun Heo wrote:
> Hello,
>
> 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.
>
> I'm not necessarily against the patchset but this probably is becoming too
> much polishing for something which is only used by cpuset in a pretty cold
> path. It probably would be a good idea to concentrate on finding more use
> cases.
>
I hesitated for a while before sending this patch series, as I was unsure
if these optimizations were worthwhile. As you pointed out, it is only
used in cpuset and isn't in a performance-critical path. However, since
the union-find implementation is placed under lib/, I thought this
suggested an expectation of more potential users in the future (otherwise,
it might have been placed directly within cpuset). These patches might
eventually benefit other users down the line. Additionally, except for the
patch that adds kunit tests, the rest involve only small changes of fewer
than 10 lines each. That’s why I decided to go ahead and submit them.

I agree that these changes would be more meaningful if more users could
benefit from them, and I'll try to explore further use cases. I understand
maintainers are busy, and if this patch series seems like unnecessary
changes, I apologize for any wasted time.

Regards,
Kuan-Wei