[PATCH-cpuset v6 0/2] Add Union-Find and use it to optimize cpuset

From: Xavier
Date: Sat Jun 22 2024 - 03:16:42 EST


Hi all,

Add a Union-Find data structure in library, and use it to to optimize the
merging of cpumasks. It could potentially be used in network configuration
and topology management to manage the connectivity between different devices
or nodes, as well as in managing the merging and lookup operations of certain
complex file clusters or blocks.

To Tejun,
Since union_find operation does not require contiguous physical memory, I
have replaced the previous allocation method with vzalloc.

To Longman,
Based on your patch, the overlapping check and merge operations for cpusets are
skipped in the case of cgroup v2.

Kindly review.

Best Regards,
Xavier

Xavier (2):
Union-Find: add a new module in kernel library
cpuset: use Union-Find to optimize the merging of cpumasks

Documentation/core-api/union_find.rst | 110 ++++++++++++++++++
.../zh_CN/core-api/union_find.rst | 87 ++++++++++++++
MAINTAINERS | 9 ++
include/linux/union_find.h | 30 +++++
kernel/cgroup/cpuset.c | 97 ++++++---------
lib/Makefile | 2 +-
lib/union_find.c | 38 ++++++
7 files changed, 313 insertions(+), 60 deletions(-)
create mode 100644 Documentation/core-api/union_find.rst
create mode 100644 Documentation/translations/zh_CN/core-api/union_find.rst
create mode 100644 include/linux/union_find.h
create mode 100644 lib/union_find.c

--
2.45.2