Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753921AbYK0ShX (ORCPT ); Thu, 27 Nov 2008 13:37:23 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752295AbYK0ShK (ORCPT ); Thu, 27 Nov 2008 13:37:10 -0500 Received: from www.tglx.de ([62.245.132.106]:38733 "EHLO www.tglx.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752251AbYK0ShJ (ORCPT ); Thu, 27 Nov 2008 13:37:09 -0500 Date: Thu, 27 Nov 2008 19:36:34 +0100 (CET) From: Thomas Gleixner To: Andi Kleen cc: eranian@gmail.com, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, mingo@elte.hu, x86@kernel.org, sfr@canb.auug.org.au Subject: Re: [patch 02/24] perfmon: base code In-Reply-To: <20081127184149.GR6703@one.firstfloor.org> Message-ID: References: <492d0bd8.11435e0a.1686.ffff8801@mx.google.com> <7c86c4470811270947q585cba5vf8bdb875962a1856@mail.gmail.com> <20081127184149.GR6703@one.firstfloor.org> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1268 Lines: 32 On Thu, 27 Nov 2008, Andi Kleen wrote: > > Well, where is it checked ? Where is checked whether Oprofile runs or not ? > > That is done using the perfctr reservation. I saw that somewhere in the > patchkit. The NMI watchdog uses that too. > > > > The Oprofile reservation you see is built on top of the cpumask reservation. > > > It tries to allocate in one call and atomically ALL the CPUs as this is the way > > > Oprofile operates. Thus it fails if one perfmon system-wide session or one > > > perfmon per-thread exists. > > > > This only prevents oprofile from starting, but it does neither prevent > > thread sessions nor does it prevent a perfmon per cpu session on a cpu > > which was onlined after oprofile started, simply because it's bit is > > missing in the CPU mask. > > The perfctr reservation is global over all CPUs. So this mean we manage resources on multiple levels, some bits here and some bits there and five checks in each code path do get them all. Really convincing concept. Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/