summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2017-03-15 22:19:30 +0100
committerRichard Braun <rbraun@sceen.net>2017-03-15 22:19:30 +0100
commit99486ac556e78dfbb12aa8d915ff00fdfddf0860 (patch)
treefba35a1ddf9ec443cdb121d0a8d58dd0e2f76a54
parentbcab7c6cf6bc2172e839648a7680bfba54d641a3 (diff)
kern/thread: count thread priority boosts
-rw-r--r--kern/thread.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kern/thread.c b/kern/thread.c
index 28d0176e..a27861f3 100644
--- a/kern/thread.c
+++ b/kern/thread.c
@@ -256,6 +256,7 @@ struct thread_runq {
struct syscnt sc_schedule_intr;
struct syscnt sc_tick_intr;
+ struct syscnt sc_boosts;
} __aligned(CPU_L1_SIZE);
/*
@@ -454,6 +455,8 @@ thread_runq_init(struct thread_runq *runq, unsigned int cpu,
syscnt_register(&runq->sc_schedule_intr, name);
snprintf(name, sizeof(name), "thread_tick_intr/%u", cpu);
syscnt_register(&runq->sc_tick_intr, name);
+ snprintf(name, sizeof(name), "thread_boosts/%u", cpu);
+ syscnt_register(&runq->sc_boosts, name);
}
static inline struct thread_runq *
@@ -2574,6 +2577,8 @@ thread_pi_setscheduler(struct thread *thread, unsigned char policy,
goto out;
}
+ syscnt_inc(&runq->sc_boosts);
+
requeue = thread->in_runq;
if (!requeue) {