[PATCH] lib/Makefile: Make union-find compilation conditional on CONFIG_CPUSETS

Kuan-Wei Chiu posted 1 patch 1 month, 2 weeks ago
There is a newer version of this series
lib/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] lib/Makefile: Make union-find compilation conditional on CONFIG_CPUSETS
Posted by Kuan-Wei Chiu 1 month, 2 weeks ago
Currently, cpuset is the only user of the union-find implementation.
Compiling union-find in all configurations unnecessarily increases the
code size when building the kernel without cgroup support. Modify the
build system to compile union-find only when CONFIG_CPUSETS is enabled.

Link: https://lore.kernel.org/lkml/1ccd6411-5002-4574-bb8e-3e64bba6a757@redhat.com/
Suggested-by: Waiman Long <llong@redhat.com>
Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>
---
 lib/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/Makefile b/lib/Makefile
index 773adf88af41..53f82de7cbe2 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -35,8 +35,9 @@ lib-y := ctype.o string.o vsprintf.o cmdline.o \
 	 is_single_threaded.o plist.o decompress.o kobject_uevent.o \
 	 earlycpio.o seq_buf.o siphash.o dec_and_lock.o \
 	 nmi_backtrace.o win_minmax.o memcat_p.o \
-	 buildid.o objpool.o union_find.o
+	 buildid.o objpool.o
 
+lib-$(CONFIG_CPUSETS) += union_find.o
 lib-$(CONFIG_PRINTK) += dump_stack.o
 lib-$(CONFIG_SMP) += cpumask.o
 
-- 
2.34.1
Re: [PATCH] lib/Makefile: Make union-find compilation conditional on CONFIG_CPUSETS
Posted by Christoph Hellwig 1 month, 2 weeks ago
On Wed, Oct 09, 2024 at 11:40:22PM +0800, Kuan-Wei Chiu wrote:
>  	 nmi_backtrace.o win_minmax.o memcat_p.o \
> -	 buildid.o objpool.o union_find.o
> +	 buildid.o objpool.o
>  
> +lib-$(CONFIG_CPUSETS) += union_find.o

The usual way would be to have a new symbol selected by
CPUSETS rather than hardcoding the user here in lib/
[PATCH v2] lib/Makefile: Make union-find compilation conditional on CONFIG_CPUSETS
Posted by Kuan-Wei Chiu 1 month, 2 weeks ago
Currently, cpuset is the only user of the union-find implementation.
Compiling union-find in all configurations unnecessarily increases the
code size when building the kernel without cgroup support. Modify the
build system to compile union-find only when CONFIG_CPUSETS is enabled.

Link: https://lore.kernel.org/lkml/1ccd6411-5002-4574-bb8e-3e64bba6a757@redhat.com/
Suggested-by: Waiman Long <llong@redhat.com>
Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>
Acked-by: Waiman Long <longman@redhat.com>
Acked-by: Tejun Heo <tj@kernel.org>
---
 init/Kconfig | 1 +
 lib/Kconfig  | 3 +++
 lib/Makefile | 3 ++-
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/init/Kconfig b/init/Kconfig
index 530a382ee0fe..323206ff5848 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1153,6 +1153,7 @@ config CGROUP_HUGETLB
 config CPUSETS
 	bool "Cpuset controller"
 	depends on SMP
+	select UNION_FIND
 	help
 	  This option will let you create and manage CPUSETs which
 	  allow dynamically partitioning a system into sets of CPUs and
diff --git a/lib/Kconfig b/lib/Kconfig
index b38849af6f13..cf303bd91dda 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -777,3 +777,6 @@ config POLYNOMIAL
 
 config FIRMWARE_TABLE
 	bool
+
+config UNION_FIND
+	bool
diff --git a/lib/Makefile b/lib/Makefile
index 773adf88af41..03b88b501b49 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -35,8 +35,9 @@ lib-y := ctype.o string.o vsprintf.o cmdline.o \
 	 is_single_threaded.o plist.o decompress.o kobject_uevent.o \
 	 earlycpio.o seq_buf.o siphash.o dec_and_lock.o \
 	 nmi_backtrace.o win_minmax.o memcat_p.o \
-	 buildid.o objpool.o union_find.o
+	 buildid.o objpool.o
 
+lib-$(CONFIG_UNION_FIND) += union_find.o
 lib-$(CONFIG_PRINTK) += dump_stack.o
 lib-$(CONFIG_SMP) += cpumask.o
 
-- 
2.34.1
Re: [PATCH v2] lib/Makefile: Make union-find compilation conditional on CONFIG_CPUSETS
Posted by Christoph Hellwig 1 month, 2 weeks ago
On Fri, Oct 11, 2024 at 10:12:14PM +0800, Kuan-Wei Chiu wrote:
> Currently, cpuset is the only user of the union-find implementation.
> Compiling union-find in all configurations unnecessarily increases the
> code size when building the kernel without cgroup support. Modify the
> build system to compile union-find only when CONFIG_CPUSETS is enabled.

Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>
Re: [PATCH] lib/Makefile: Make union-find compilation conditional on CONFIG_CPUSETS
Posted by Tejun Heo 1 month, 2 weeks ago
On Wed, Oct 09, 2024 at 11:40:22PM +0800, Kuan-Wei Chiu wrote:
> Currently, cpuset is the only user of the union-find implementation.
> Compiling union-find in all configurations unnecessarily increases the
> code size when building the kernel without cgroup support. Modify the
> build system to compile union-find only when CONFIG_CPUSETS is enabled.
> 
> Link: https://lore.kernel.org/lkml/1ccd6411-5002-4574-bb8e-3e64bba6a757@redhat.com/
> Suggested-by: Waiman Long <llong@redhat.com>
> Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>

Acked-by: Tejun Heo <tj@kernel.org>

Andrew, can you please pick up this one?

Thanks.

-- 
tejun
Re: [PATCH] lib/Makefile: Make union-find compilation conditional on CONFIG_CPUSETS
Posted by Waiman Long 1 month, 2 weeks ago
On 10/9/24 11:40 AM, Kuan-Wei Chiu wrote:
> Currently, cpuset is the only user of the union-find implementation.
> Compiling union-find in all configurations unnecessarily increases the
> code size when building the kernel without cgroup support. Modify the
> build system to compile union-find only when CONFIG_CPUSETS is enabled.
>
> Link: https://lore.kernel.org/lkml/1ccd6411-5002-4574-bb8e-3e64bba6a757@redhat.com/
> Suggested-by: Waiman Long <llong@redhat.com>
> Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>
> ---
>   lib/Makefile | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/lib/Makefile b/lib/Makefile
> index 773adf88af41..53f82de7cbe2 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -35,8 +35,9 @@ lib-y := ctype.o string.o vsprintf.o cmdline.o \
>   	 is_single_threaded.o plist.o decompress.o kobject_uevent.o \
>   	 earlycpio.o seq_buf.o siphash.o dec_and_lock.o \
>   	 nmi_backtrace.o win_minmax.o memcat_p.o \
> -	 buildid.o objpool.o union_find.o
> +	 buildid.o objpool.o
>   
> +lib-$(CONFIG_CPUSETS) += union_find.o
>   lib-$(CONFIG_PRINTK) += dump_stack.o
>   lib-$(CONFIG_SMP) += cpumask.o
>   
Acked-by: Waiman Long <longman@redhat.com>