Messages in this thread Patch in this message |  | | Date | Tue, 19 Jul 2011 14:20:15 +0800 | | From | Cong Wang <> | | Subject | Re: [Patch] mm: make CONFIG_NUMA depend on CONFIG_SYSFS |
| |
于 2011年07月18日 21:52, Mel Gorman 写道: > On Mon, Jul 18, 2011 at 07:18:29PM +0800, Amerigo Wang wrote: >> On ppc, we got this build error with randconfig: >> >> drivers/built-in.o:(.toc1+0xf90): undefined reference to `vmstat_text': 1 errors in 1 logs >> >> This is due to that it enabled CONFIG_NUMA but not CONFIG_SYSFS. >> >> And the user-space tool numactl depends on sysfs files too. >> So, I think it is very reasonable to make CONFIG_NUMA depend on CONFIG_SYSFS. >> > > That looks a bit awful. There is no obvious connection between SYSFS > and NUMA. One is exporting information to userspace and the other is > the memory model. Without sysfs, NUMA support might be less useful > but the memory policies should still work and set_mempolicy() should > still be an option. > > You didn't post where the buggy reference to vmstat_text but I'm > assuming it is in drivers/base/node.c . It would be preferable that > it be fixed to not reference vmstat_text unless either CONFIG_PROC_FS > or CONFIG_SYSFS is defined similar to what is in mm/vmstat.c . >
Hmm, since we don't have to enable SYSFS for NUMA, how about make a new Kconfig for drivers/base/node.c? I.e., CONFIG_NUMA_SYSFS, like patch below.
Thanks. Introduce a new Kconfig CONFIG_NUMA_SYSFS for drivers/base/node.c which just provides sysfs interface, so that when we select CONFIG_NUMA, we don't have to enable the sysfs interface too.
This by the way fixes a randconfig build error when NUMA && !SYSFS.
Signed-off-by: WANG Cong <amwang@redhat.com>
--- diff --git a/drivers/base/Makefile b/drivers/base/Makefile index 4c5701c..f34abe6 100644 --- a/drivers/base/Makefile +++ b/drivers/base/Makefile @@ -10,7 +10,7 @@ obj-$(CONFIG_HAS_DMA) += dma-mapping.o obj-$(CONFIG_HAVE_GENERIC_DMA_COHERENT) += dma-coherent.o obj-$(CONFIG_ISA) += isa.o obj-$(CONFIG_FW_LOADER) += firmware_class.o -obj-$(CONFIG_NUMA) += node.o +obj-$(CONFIG_NUMA_SYSFS) += node.o obj-$(CONFIG_MEMORY_HOTPLUG_SPARSE) += memory.o obj-$(CONFIG_SMP) += topology.o obj-$(CONFIG_IOMMU_API) += iommu.o diff --git a/mm/Kconfig b/mm/Kconfig index 8ca47a5..f89ab19 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -340,6 +340,16 @@ choice benefit. endchoice +config NUMA_SYSFS + bool "Enable NUMA sysfs interface for user-space" + depends on NUMA + depends on SYSFS + default y + help + This enables NUMA sysfs interface, /sys/devices/system/node/, + for user-space tools, like numactl. If you have enabled NUMA, + probably you also need this one. + # # UP and nommu archs use km based percpu allocator # |  |