[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <49DB7F09.8050900@linux.vnet.ibm.com>
Date: Tue, 07 Apr 2009 09:27:53 -0700
From: Corey Ashford <cjashfor@...ux.vnet.ibm.com>
To: Peter Zijlstra <peterz@...radead.org>
CC: Ingo Molnar <mingo@...e.hu>, Paul Mackerras <paulus@...ba.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 5/6] perf_counter: add more context information
Peter Zijlstra wrote:
> On Mon, 2009-04-06 at 14:33 -0700, Corey Ashford wrote:
>> Peter Zijlstra wrote:
>>> On Mon, 2009-04-06 at 14:15 -0700, Corey Ashford wrote:
>>>> Peter Zijlstra wrote:
>>>>> On Mon, 2009-04-06 at 13:16 -0700, Corey Ashford wrote:
>>>>>
>>>>>>>> One downside of this approach is that you if you specify "no header"
>>>>>>>> (currently not possible, but maybe later?), you will not be able to get
>>>>>>>> the level bits.
>>>>>>> Would this be desirable?
>>>>>> I think it would. For one use case I'm working on right now, simple
>>>>>> profiling, all I need are ip's. If I could omit the header, that would
>>>>>> reduce the frequency of sigio's by a factor of three, and make it faster
>>>>>> to read up the ip's when the SIGIO's occur.
>>>>> Self-profiling?
>>>>>
>>>>> So you're interested in getting the smallest possible record size, that
>>>>> would still be 2 u64, right? Otherwise you don't get the IP context that
>>>>> started this.
>>>>>
>>>>>
>>>> Self-profiling mainly, yes. PAPI specs an ability for remote monitoring
>>>> of processes and threads, but I think it's only partially implemented.
>>>>
>>>> So when you are talking about IP context, you mean pid/tid?
>>> Ah, we called it level before, the hv/kernel/user thing. For remote
>>> profiling you'd want to have the mmap thing too.
>> Oh I see. In PAPI, the user specifies the range(s) of addresses he's
>> interested in profiling (any sampled IP's outside the requested ranges
>> are discarded), and so as long as the kernel space IP's don't overlap
>> with user space IP's, we should be fine.
>
> Ah, while this would be true for most 'sane' architectures, Paul was
> right in pointing out that this is not true for all architectures -- and
> we should therefore not rely on address range alone.
>
> You could of course use: hw_event.exclude_{hv,kernel} = 1 to ensure you
> only get userspace thingies I suppose (but then you have no way of
> telling how many you missed I guess).
That's a good point. PAPI's profiling API doesn't have a way for the
caller to distinguish which address spaces (user/kernel/hv) he wants to
profile. It does have a way to designate which levels to ignore, but if
you enable them all, you cannot specify the profiling address ranges
pertaining to each. That may be something I could propose adding to
PAPI. I suspect it would be pretty rarely used, though.
- Corey
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists