Lines Matching refs:hwc
2934 struct hw_perf_event *hwc = &event->hw; in perf_adjust_period() local
2940 delta = (s64)(period - hwc->sample_period); in perf_adjust_period()
2943 sample_period = hwc->sample_period + delta; in perf_adjust_period()
2948 hwc->sample_period = sample_period; in perf_adjust_period()
2950 if (local64_read(&hwc->period_left) > 8*sample_period) { in perf_adjust_period()
2954 local64_set(&hwc->period_left, 0); in perf_adjust_period()
2970 struct hw_perf_event *hwc; in perf_adjust_freq_unthr_context() local
2994 hwc = &event->hw; in perf_adjust_freq_unthr_context()
2996 if (hwc->interrupts == MAX_INTERRUPTS) { in perf_adjust_freq_unthr_context()
2997 hwc->interrupts = 0; in perf_adjust_freq_unthr_context()
3011 delta = now - hwc->freq_count_stamp; in perf_adjust_freq_unthr_context()
3012 hwc->freq_count_stamp = now; in perf_adjust_freq_unthr_context()
6100 struct hw_perf_event *hwc = &event->hw; in __perf_event_overflow() local
6112 if (seq != hwc->interrupts_seq) { in __perf_event_overflow()
6113 hwc->interrupts_seq = seq; in __perf_event_overflow()
6114 hwc->interrupts = 1; in __perf_event_overflow()
6116 hwc->interrupts++; in __perf_event_overflow()
6118 && hwc->interrupts >= max_samples_per_tick)) { in __perf_event_overflow()
6120 hwc->interrupts = MAX_INTERRUPTS; in __perf_event_overflow()
6129 s64 delta = now - hwc->freq_time_stamp; in __perf_event_overflow()
6131 hwc->freq_time_stamp = now; in __perf_event_overflow()
6134 perf_adjust_period(event, delta, hwc->last_period, true); in __perf_event_overflow()
6197 struct hw_perf_event *hwc = &event->hw; in perf_swevent_set_period() local
6198 u64 period = hwc->last_period; in perf_swevent_set_period()
6202 hwc->last_period = hwc->sample_period; in perf_swevent_set_period()
6205 old = val = local64_read(&hwc->period_left); in perf_swevent_set_period()
6212 if (local64_cmpxchg(&hwc->period_left, old, val) != old) in perf_swevent_set_period()
6222 struct hw_perf_event *hwc = &event->hw; in perf_swevent_overflow() local
6228 if (hwc->interrupts == MAX_INTERRUPTS) in perf_swevent_overflow()
6248 struct hw_perf_event *hwc = &event->hw; in perf_swevent_event() local
6264 if (nr == 1 && hwc->sample_period == 1 && !event->attr.freq) in perf_swevent_event()
6267 if (local64_add_negative(nr, &hwc->period_left)) in perf_swevent_event()
6430 struct hw_perf_event *hwc = &event->hw; in perf_swevent_add() local
6434 hwc->last_period = hwc->sample_period; in perf_swevent_add()
6438 hwc->state = !(flags & PERF_EF_START); in perf_swevent_add()
6887 struct hw_perf_event *hwc = &event->hw; in perf_swevent_start_hrtimer() local
6893 period = local64_read(&hwc->period_left); in perf_swevent_start_hrtimer()
6898 local64_set(&hwc->period_left, 0); in perf_swevent_start_hrtimer()
6900 period = max_t(u64, 10000, hwc->sample_period); in perf_swevent_start_hrtimer()
6902 __hrtimer_start_range_ns(&hwc->hrtimer, in perf_swevent_start_hrtimer()
6909 struct hw_perf_event *hwc = &event->hw; in perf_swevent_cancel_hrtimer() local
6912 ktime_t remaining = hrtimer_get_remaining(&hwc->hrtimer); in perf_swevent_cancel_hrtimer()
6913 local64_set(&hwc->period_left, ktime_to_ns(remaining)); in perf_swevent_cancel_hrtimer()
6915 hrtimer_cancel(&hwc->hrtimer); in perf_swevent_cancel_hrtimer()
6921 struct hw_perf_event *hwc = &event->hw; in perf_swevent_init_hrtimer() local
6926 hrtimer_init(&hwc->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in perf_swevent_init_hrtimer()
6927 hwc->hrtimer.function = perf_swevent_hrtimer; in perf_swevent_init_hrtimer()
6937 hwc->sample_period = event->attr.sample_period; in perf_swevent_init_hrtimer()
6938 local64_set(&hwc->period_left, hwc->sample_period); in perf_swevent_init_hrtimer()
6939 hwc->last_period = hwc->sample_period; in perf_swevent_init_hrtimer()
7526 struct hw_perf_event *hwc; in perf_event_alloc() local
7601 hwc = &event->hw; in perf_event_alloc()
7602 hwc->sample_period = attr->sample_period; in perf_event_alloc()
7604 hwc->sample_period = 1; in perf_event_alloc()
7605 hwc->last_period = hwc->sample_period; in perf_event_alloc()
7607 local64_set(&hwc->period_left, hwc->sample_period); in perf_event_alloc()
8656 struct hw_perf_event *hwc = &child_event->hw; in inherit_event() local
8658 hwc->sample_period = sample_period; in inherit_event()
8659 hwc->last_period = sample_period; in inherit_event()
8661 local64_set(&hwc->period_left, sample_period); in inherit_event()