mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-07 07:08:07 +00:00
Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: watchdog: Don't throttle the watchdog tracing: Fix timer tracing
This commit is contained in:
commit
502adf5778
2 changed files with 9 additions and 2 deletions
|
@ -81,14 +81,16 @@ TRACE_EVENT(timer_expire_entry,
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__field( void *, timer )
|
__field( void *, timer )
|
||||||
__field( unsigned long, now )
|
__field( unsigned long, now )
|
||||||
|
__field( void *, function)
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
__entry->timer = timer;
|
__entry->timer = timer;
|
||||||
__entry->now = jiffies;
|
__entry->now = jiffies;
|
||||||
|
__entry->function = timer->function;
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("timer=%p now=%lu", __entry->timer, __entry->now)
|
TP_printk("timer=%p function=%pf now=%lu", __entry->timer, __entry->function,__entry->now)
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -200,14 +202,16 @@ TRACE_EVENT(hrtimer_expire_entry,
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__field( void *, hrtimer )
|
__field( void *, hrtimer )
|
||||||
__field( s64, now )
|
__field( s64, now )
|
||||||
|
__field( void *, function)
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
__entry->hrtimer = hrtimer;
|
__entry->hrtimer = hrtimer;
|
||||||
__entry->now = now->tv64;
|
__entry->now = now->tv64;
|
||||||
|
__entry->function = hrtimer->function;
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("hrtimer=%p now=%llu", __entry->hrtimer,
|
TP_printk("hrtimer=%p function=%pf now=%llu", __entry->hrtimer, __entry->function,
|
||||||
(unsigned long long)ktime_to_ns((ktime_t) { .tv64 = __entry->now }))
|
(unsigned long long)ktime_to_ns((ktime_t) { .tv64 = __entry->now }))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -206,6 +206,9 @@ void watchdog_overflow_callback(struct perf_event *event, int nmi,
|
||||||
struct perf_sample_data *data,
|
struct perf_sample_data *data,
|
||||||
struct pt_regs *regs)
|
struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
|
/* Ensure the watchdog never gets throttled */
|
||||||
|
event->hw.interrupts = 0;
|
||||||
|
|
||||||
if (__get_cpu_var(watchdog_nmi_touch) == true) {
|
if (__get_cpu_var(watchdog_nmi_touch) == true) {
|
||||||
__get_cpu_var(watchdog_nmi_touch) = false;
|
__get_cpu_var(watchdog_nmi_touch) = false;
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Add table
Reference in a new issue