Re: [PATCH 3/6] perf record: add time-of-day option

David Ahern
2011-03-01T15:41:44Z

On 03/01/2011 08:35 AM, Peter Zijlstra wrote:
> On Tue, 2011-03-01 at 07:35 -0700, David Ahern wrote:
>>
>> On 03/01/2011 07:29 AM, Peter Zijlstra wrote:
>>
>>>> +/* add a sample to the event stream based on user request */
>>>> +static int perf_event_generate_sample(struct perf_event *event)
>>>> +{
>>>> + struct perf_sample_data data;
>>>> + struct pt_regs regs;
>>>> +
>>>> + perf_fetch_caller_regs(&regs);
>>>> + event->pmu->read(event);
>>>> + perf_sample_data_init(&data, 0);
>>>> + data.period = event->hw.last_period;
>>>> + perf_event_output(event, 0, &data, &regs);
>>>> +
>>>> + return 0;
>>>> +}
>>>
>>> I'm not quite sure why you need this..
>>>
>>
>> periodic samples are generated after the specified period. I want the
>> first sample immediately and the remainder based on the set period.
>>
>> So generically, how do you get the first sample into the event stream
>> and let the others happen based on the timer? I need not only the
>> counter value but also the perf_clock timestamp that comes from the
>> SAMPLE_TIME attribute.
>
> Again, why?
>

realtime-clock counter is created with a period N. How do you correlate
perf_clock to time-of-day until now + N? You need a sample from the
beginning of the event stream, not N nanoseconds into it.

David