Re: [PATCH v1 1/5] perf: add context parameter to perf_event overflow handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/03/2011 05:41 PM, Peter Zijlstra wrote:
On Wed, 2011-05-11 at 11:55 -0400, Avi Kivity wrote:
>  +++ b/include/linux/perf_event.h
>  @@ -709,7 +709,9 @@ struct perf_buffer {
>
>   struct perf_sample_data;
>
>  -typedef void (*perf_overflow_handler_t)(struct perf_event *, int,
>  +typedef void (*perf_overflow_handler_t)(void *context,
>  +                                       struct perf_event *event,
>  +                                       int,
>                                          struct perf_sample_data *,
>                                          struct pt_regs *regs);
>
>  @@ -855,6 +857,7 @@ struct perf_event {
>          u64                             id;
>
>          perf_overflow_handler_t         overflow_handler;
>  +       void                            *overflow_handler_context;
>
>   #ifdef CONFIG_EVENT_TRACING
>          struct ftrace_event_call        *tp_event;

If you're adding a pointer here, then why pass it along in the callback
thing if it already has the perf_event *?

It seems to me the callback can easily do
event->overflow_handler_context if it needs the thing.

Makes sense.  Will update.

(I would have preferred a caller-allocated perf_event with container_of(), but that's a huge change).

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux