[prev in list] [next in list] [prev in thread] [next in thread] 

List:       opensolaris-dtrace-discuss
Subject:    Re: [dtrace-discuss] CPC provider - input welcome
From:       Jon Haslam <Jonathan.Haslam () Sun ! COM>
Date:       2008-07-23 18:34:46
Message-ID: 488779C6.9040307 () sun ! com
[Download RAW message or body]

Hi Peter,

> 1) Section 2 talks about args[0] and args[1], yet the examples use 
> arg0 and arg1.   This may be just cosmetic, but it might be worth 
> being consistent.   Also, should the description be specific about 
> what data type is given for args[0] and args[1], or is that implicit 
> by saying they are program counter values?

Oops. I shouldn't refer to the typed argument array here as the
arguments are not presented through it. That should be arg0
and arg1. Thanks.

> 2)  Example 3 (and hence 4) sounds unclear to me given the discussion 
> last week.   It still leaves open the interpretation that all the L2 
> cache misses that are being counted are all caused by the executable 
> "brendan".   Given the discussion last week, it would be more clear to 
> describe it being a sampling of what the brendan executable was doing 
> each time the L2 cache miss counter hit the target.  It might be 
> useful to add a second clause to the example 3 script to count events 
> that happened when some other executable was executing.   This makes 
> the "brendan" counts a more effective drill-down into the total set of 
> L2 cache miss events.  Did I understand last week's discussion correctly?
> cpc:::BU_fill_req_missed_L2-all-0x7-10000
> /execname == "brendan"/
> {
> 	@[ufunc(arg1)] = count();
> cpc:::BU_fill_req_missed_L2-all-0x7-10000
> /execname != "brendan"/
> {
> 	@["OtherExecutable"] = count();
> }
> }

I didn't alter these examples because I added a paragraph in section
"B1 - Probe Format" which contains an example to cover this off.
I explicitly mention the fact that the events may not be all generated
by the executable.  Also bear in mind that this document is for
architecture review and it's a different thing to the user guide where
I'll be a lot more verbose.

> 3) It might also be helpful to have an example that keeps a running 
> total of some performance counter, and then periodically samples that 
> counter during some other event of interest.  I.e. we could use the 
> dtrace tools to keep a running count of L2 cache misses, and then wake 
> up each several msec and sample both who is running and what the 
> current counts are.  (In such an application, we would just be using 
> dtrace as a quick way of enabling and disabling the specific counters 
> we want to track.)

The user guide chapter will have more and different examples. I'll
have a play around with that idea but I'm not sure how useful it is
to correlate values that we've been counting with a piece of data such
as the current onproc thread. Still, you never know till you've tried it.

Thanks.

Jon.

>
> Peter
>
> Jon Haslam wrote:
>>> Tracing Fans,
>>>
>>> I know it's been a long time in coming but the CPU Performance
>>> Counter (CPC) provider is almost here! The code is currently in
>>> for review and a proposed architecture document is attached here
>>> for review.
>>
>> Many thanks to all those that gave me feedback on this proposal.
>> A revised version is attached which we'll hopefully submit shortly.
>> The additions I've done to the original are really just to try and
>> be a bit more verbose about the behaviour of the provider. For
>> those that are interested additions were made to Section
>> "B1 - Probe Format" and "B3 - Probe Availability". Also the
>> default minimum overflow rate has been lowered from 10000 to
>> 5000.
>>
>> If any of the changes make you violently ill, please let me know.
>>
>> Jon.
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> dtrace-discuss mailing list
>> dtrace-discuss@opensolaris.org

_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic