From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757968Ab3IBQJU (ORCPT ); Mon, 2 Sep 2013 12:09:20 -0400 Received: from fw-tnat.cambridge.arm.com ([217.140.96.21]:52067 "EHLO cam-smtp0.cambridge.arm.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754338Ab3IBQJU (ORCPT ); Mon, 2 Sep 2013 12:09:20 -0400 Date: Mon, 2 Sep 2013 17:09:08 +0100 From: Catalin Marinas To: Martin =?utf-8?Q?MOKREJ=C5=A0?= Cc: Max Filippov , LKML Subject: Re: 3.10.9: kmemleak disables all CPUs except CPU0 Message-ID: <20130902160908.GE13871@arm.com> References: <5221F119.4070000@gmail.com> <20130902154840.GC13871@arm.com> <5224B3F5.8090402@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <5224B3F5.8090402@gmail.com> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 02, 2013 at 04:51:17PM +0100, Martin MOKREJŠ wrote: > 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 wrote: > >>> On 31 August 2013 14:35, Martin MOKREJŠ 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. Otherwise, of no-one volunteers, please feel free to send a patch ;) -- Catalin