non-standard config in my running distro Default kernel: Effect?
From: Linda Walsh
Date: Wed Jun 17 2009 - 17:26:55 EST
I found what appears to be a "non-standard configuration" in a
distro's "Default-SMP", non-Xen kernel, where /proc/config.gz
from the running kernel has (I only ran into this doing a diff between
a manually constructed config and my running kernel):
CONFIG_X86_SMP=y
CONFIG_X86_64_SMP=y
But does NOT have:
CONFIG_USE_GENERIC_SMP_HELPERS=y
From what I can tell, this shouldn't be a possible configuration, since
CONFIG_X86_SMP should force it to be set to 'y' (not unset).
Would this config, (SMP='y', generic_smp_helpers=(undef) ) have any
odd effects? Is there a specific "effect" or "feature" one gets
by having 'smp=y' but not having the smp_helpers enabled?
In my x86_64 arch, the places I see it tested are:
block/blk-softirq.c:
#if defined(CONFIG_SMP) && defined(CONFIG_USE_GENERIC_SMP_HELPERS)
#else /* CONFIG_SMP && CONFIG_USE_GENERIC_SMP_HELPERS */
block/blk-sysfs.c:
#if defined(CONFIG_USE_GENERIC_SMP_HELPERS)
include/linux/smp.h:
#ifdef CONFIG_USE_GENERIC_SMP_HELPERS
/kernel/Kconfig.hz:
def_bool HIGH_RES_TIMERS && (!SMP || USE_GENERIC_SMP_HELPERS)
kernel/softirq.c:
#ifdef CONFIG_USE_GENERIC_SMP_HELPERS
#else /* CONFIG_USE_GENERIC_SMP_HELPERS */
---
It appears it may disable some softirq routines.
In include/linux/smp.h, having it undefined would disable the definition
of the functions:
generic_smp_call_function_single_interrupt,
generic_smp_call_function_interrupt,
ipi_call_lock, ipi_call_unlock,
ipi_call_lock_irq & ipi_call_unlock_irq
Does this have any performance or integrity (lost interrupt)
implications?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/