diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2017-03-10 11:05:09 -0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-03-10 11:05:09 -0800 |
| commit | b7207bf00e030cf2c8a6841f160e3927069d9841 (patch) | |
| tree | 38b18869bfc76b5eb62741b8805835e2b43907ed /kernel | |
| parent | ddf1974359c763c7b8134b7be54dd11a6a009434 (diff) | |
| parent | 4f659aa55edf0c322710abfd9389501f8f68dc79 (diff) | |
Merge "rcu: Induce msm watchdog bite for rcu stalls"
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/rcu/tree.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index f07343b54fe5..2cb46d51d715 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -57,6 +57,8 @@ #include <linux/trace_events.h> #include <linux/suspend.h> +#include <soc/qcom/watchdog.h> + #include "tree.h" #include "rcu.h" @@ -1298,6 +1300,11 @@ static void print_other_cpu_stall(struct rcu_state *rsp, unsigned long gpnum) rcu_check_gp_kthread_starvation(rsp); +#ifdef CONFIG_RCU_STALL_WATCHDOG_BITE + /* Induce watchdog bite */ + msm_trigger_wdog_bite(); +#endif + force_quiescent_state(rsp); /* Kick them all. */ } @@ -1333,6 +1340,11 @@ static void print_cpu_stall(struct rcu_state *rsp) jiffies + 3 * rcu_jiffies_till_stall_check() + 3); raw_spin_unlock_irqrestore(&rnp->lock, flags); +#ifdef CONFIG_RCU_STALL_WATCHDOG_BITE + /* Induce non secure watchdog bite to collect context */ + msm_trigger_wdog_bite(); +#endif + /* * Attempt to revive the RCU machinery by forcing a context switch. * |
