Re: 3.10.9: kmemleak disables all CPUs except CPU0

From: Martin MOKREJÅ
Date: Mon Sep 02 2013 - 11:51:59 EST




Catalin Marinas wrote:
> On Mon, Sep 02, 2013 at 04:44:52PM +0100, Max Filippov wrote:
>> On Mon, Sep 2, 2013 at 7:31 PM, Catalin Marinas <catalin.marinas@xxxxxxx> wrote:
>>> On 31 August 2013 14:35, Martin MOKREJÅ <mmokrejs@xxxxxxxxx> wrote:
>>>> never realized that my CPUs are gone if I compile into kernel kmemleak.
>>>> Is that really the aim?
>>>>
>>>> CONFIG_HAVE_DEBUG_KMEMLEAK=y
>>>> CONFIG_DEBUG_KMEMLEAK=y
>>>> CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=400
>>>> # CONFIG_DEBUG_KMEMLEAK_TEST is not set
>>>> # CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set
>>>>
>>>> 1. Why isn't there /sys/devices/system/cpu/cpu0/online file?
>>>> Does not matter if it contains 0 or 1. It just should exist.
>>>
>>> I can't really see how kmemleak would do this, maybe other config
>>> options that get set/cleared in the process of selecting kmemleak. Can
>>
>> Seems to be kmemcheck: from arch/x86/mm/kmemcheck/kmemcheck.c:
>>
>> int __init kmemcheck_init(void)
>> {
>> #ifdef CONFIG_SMP
>> /*
>> * Limit SMP to use a single CPU. We rely on the fact that this code
>> * runs before SMP is set up.
>> */
>> if (setup_max_cpus > 1) {
>> printk(KERN_INFO
>> "kmemcheck: Limiting number of CPUs to 1.\n");
>> setup_max_cpus = 1;
>> }
>> #endif
>
> Ah, ok, not my problem then ;)


Fine, so would somebody please update the help text accessible in "menuconfig"
for this entry? It should be clear that it has a huge performance impact if enabled.
And, by compiling in it is enabled by default.

Thank you
Martin
--
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/