]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge branch 'fortglx/4.12/time' of https://git.linaro.org/people/john.stultz/linux...
authorThomas Gleixner <tglx@linutronix.de>
Fri, 31 Mar 2017 07:48:00 +0000 (09:48 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 31 Mar 2017 07:48:00 +0000 (09:48 +0200)
Pull timekeeping changes from John Stultz:

 Main changes are the initial steps of Nicoli's work to make the clockevent
 timers be corrected for NTP adjustments. Then a few smaller fixes that
 I've queued, and adding Stephen Boyd to the maintainers list for
 timekeeping.

include/linux/hrtimer.h
kernel/time/hrtimer.c
kernel/time/posix-cpu-timers.c

index 249e579ecd4c4d7ecf06f38e3c0fad75ba46000b..23d58fcd4d9a76713a70620caddc4b9fbba62092 100644 (file)
@@ -276,8 +276,6 @@ static inline int hrtimer_is_hres_active(struct hrtimer *timer)
        return timer->base->cpu_base->hres_active;
 }
 
-extern void hrtimer_peek_ahead_timers(void);
-
 /*
  * The resolution of the clocks. The resolution value is returned in
  * the clock_getres() system call to give application programmers an
@@ -300,8 +298,6 @@ extern unsigned int hrtimer_resolution;
 
 #define hrtimer_resolution     (unsigned int)LOW_RES_NSEC
 
-static inline void hrtimer_peek_ahead_timers(void) { }
-
 static inline int hrtimer_is_hres_active(struct hrtimer *timer)
 {
        return 0;
index ec08f527d7ee9101399fd150ad788b8a40f2f859..1ef82cdb61fff15ae825404fa03baa8b4c2b49a6 100644 (file)
@@ -1368,10 +1368,7 @@ retry:
                    ktime_to_ns(delta));
 }
 
-/*
- * local version of hrtimer_peek_ahead_timers() called with interrupts
- * disabled.
- */
+/* called with interrupts disabled */
 static inline void __hrtimer_peek_ahead_timers(void)
 {
        struct tick_device *td;
index 4513ad16a253f6d2b0ccf6a3aa178b1e058c5c52..76bea3a47d4bdae375c5a26be0a556821d1a1418 100644 (file)
@@ -825,6 +825,8 @@ static void check_thread_timers(struct task_struct *tsk,
                         * At the hard limit, we just die.
                         * No need to calculate anything else now.
                         */
+                       pr_info("CPU Watchdog Timeout (hard): %s[%d]\n",
+                               tsk->comm, task_pid_nr(tsk));
                        __group_send_sig_info(SIGKILL, SEND_SIG_PRIV, tsk);
                        return;
                }
@@ -836,8 +838,7 @@ static void check_thread_timers(struct task_struct *tsk,
                                soft += USEC_PER_SEC;
                                sig->rlim[RLIMIT_RTTIME].rlim_cur = soft;
                        }
-                       printk(KERN_INFO
-                               "RT Watchdog Timeout: %s[%d]\n",
+                       pr_info("RT Watchdog Timeout (soft): %s[%d]\n",
                                tsk->comm, task_pid_nr(tsk));
                        __group_send_sig_info(SIGXCPU, SEND_SIG_PRIV, tsk);
                }
@@ -935,6 +936,8 @@ static void check_process_timers(struct task_struct *tsk,
                         * At the hard limit, we just die.
                         * No need to calculate anything else now.
                         */
+                       pr_info("RT Watchdog Timeout (hard): %s[%d]\n",
+                               tsk->comm, task_pid_nr(tsk));
                        __group_send_sig_info(SIGKILL, SEND_SIG_PRIV, tsk);
                        return;
                }
@@ -942,6 +945,8 @@ static void check_process_timers(struct task_struct *tsk,
                        /*
                         * At the soft limit, send a SIGXCPU every second.
                         */
+                       pr_info("CPU Watchdog Timeout (soft): %s[%d]\n",
+                               tsk->comm, task_pid_nr(tsk));
                        __group_send_sig_info(SIGXCPU, SEND_SIG_PRIV, tsk);
                        if (soft < hard) {
                                soft++;