Hi Stephane, Vince,

When I look at the umasks provided with uncore cbox pmu's, I see these entries:

     :tf=0                                                                    
            thread id filter [0-1]                              
     :cf=0                                                                    
            core id filter [0-7]                                   

This suggests to me that we can filter cbox uncore events to only count for one 
core on the socket (and even one hyperthread on that core).  I know that is not 
the same as a thread of execution.

But if a person was to force their application to run on a specific core and 
not allow any other jobs on that core.  Then use these filters to only count 
uncore cbox events from that core, would we be seeing counts related to just 
that process ??

This is certainly not a general solution and it is limited to events in the 
cbox pmu but it seems like it may be able to provide some information that is 
loosely tied to a specific application.

Have I overlooked something here that would invalidate this kind of test ??
Gary


-----Original Message-----
From: Stephane Eranian [mailto:eran...@googlemail.com] 
Sent: Friday, March 21, 2014 10:36 AM
To: Vince Weaver
Cc: perfmon2-devel
Subject: Re: [perfmon2] Counting NorthBridge events of a single process

On Thu, Mar 20, 2014 at 10:24 PM, Vince Weaver <vincent.wea...@maine.edu> wrote:
> On Thu, 20 Mar 2014, Martin Ichilevici de Oliveira wrote:
>
>> That program measures the counter for all processes, but I'm
>> interested in measuring it only for my program. Since the other
>> examples were not working (out of the box) with that event, I decided
>> to modify the perf_event_open() call, which was
>>
>> perf_event_open(&fds[i].hw, -1, 0, -1, 0);
>
> NorthBridge and Uncore counters are socket-wide.  You cannot measure the
> values per-process or per-thread.  This is a hardware limitation.
>
Well, this is really a kernel-imposed limitation for a good reason.
The counters live in the uncore which is shared by all cores and
thus are subject to requests coming from all programs running
on the processor socket. Therefore there is NO  way to correlate
counts you get to your particular application. Thus uncore events
are not allowed in per-thread mode.



> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/13534_NeoTech
> _______________________________________________
> perfmon2-devel mailing list
> perfmon2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to