On 5/28/2019 9:48 AM, Peter Zijlstra wrote:
On Tue, May 21, 2019 at 02:40:50PM -0700, kan.li...@linux.intel.com wrote:
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index b980b9e95d2a..0d7081434d1d 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -133,6 +133,11 @@ struct hw_perf_event {
struct hw_perf_event_extra extra_reg;
                        struct hw_perf_event_extra branch_reg;
+
+                       u64             saved_metric;
+                       u64             saved_slots;
+                       u64             last_slots;
+                       u64             last_metric;

This is really sad, and I'm thinking much of that really isn't needed
anyway, due to how you're not using some of the other fields.

If we don't cache the value, we have to update all metrics events when reading any metrics event. I think that could bring high overhead.

Thanks,
Kan

                };
                struct { /* software */
                        struct hrtimer  hrtimer;
--
2.14.5

Reply via email to