[lkml]   [2011]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 4/6] perf record: add time-of-day option
    On 06/17/2011 09:15 AM, Frederic Weisbecker wrote:
    > On Fri, Jun 17, 2011 at 08:23:01AM -0600, David Ahern wrote:
    >> On 06/17/2011 08:14 AM, Frederic Weisbecker wrote:
    >>> So I feel uncomfortable with this tod_sample_type hack. I think we can't really continue
    >>> with this fixed sample_type per session given the kind of hacks that involves.
    >>> One thing we could do is to split session->sample_type into an array with one sample
    >>> type per event type (hardware, breakpoint, software, tracepoint).
    >>> And then each builtin tool can provide their constraints on top of these values:
    >>> - builtin-report wants sample_type[HARDWARE] == sample_type[SOFTWARE] == sample_type[TRACEPOINT] == sample_type[BREAKPOINT]
    >>> although that may be tunable by the time but we can start with that.
    >>> - builtin-script has no specific constraints, except that sample_type[i] meets what the user passed as a parameter
    >>> - etc..
    >>> Constraints can probably default to sample_type[i] == sample_type[i+1] to mimic the current behaviour. Then tools
    >>> can override that.
    >>> What do you think?
    >> I started working on sample_type refactoring right after sending this
    >> patchset (though I got sidetracked). Each evsel in the list has a
    >> perf_attr struct which has a sample_type. Why not use that which allows
    >> events to have their own sample type - versus a type per event type?
    > This can make sense, I can figure out some cases where such granularity can be
    > useful. Branch recording doesn't care about recording period for example I think.
    >> I'll see if I can get back to it in the next few days and get a better
    >> idea of the pain involved with the refactoring.
    > Thanks a lot :)

    Coming back to this one ....

    From what I can see sample_type has to be a global per perf session and
    all samples have to use the same sample_type or a change is needed to
    the API/ABI.

    The perf_event_header does not have any information that uniquely
    associates it with a specific event type. Right now
    perf_evlist__id2evsel() is used to associate a sample with a specific
    event (evsel) in the list, but that function requires a parsed sample.
    To parse a sample we need the sample_type. So, the sample_type has to be
    a global and the same for all samples.


     \ /
      Last update: 2011-08-15 06:27    [W:0.023 / U:4.016 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site