提交 3055adda 编写于 作者: D Dimitri Sivanich 提交者: Linus Torvalds

[PATCH] hrtimer: call get_softirq_time() only when necessary in run_hrtimer_queue()

It seems that run_hrtimer_queue() is calling get_softirq_time() more
often than it needs to.

With this patch, it only calls get_softirq_time() if there's a
pending timer.
Signed-off-by: NDimitri Sivanich <sivanich@sgi.com>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 669d7868
...@@ -606,6 +606,9 @@ static inline void run_hrtimer_queue(struct hrtimer_base *base) ...@@ -606,6 +606,9 @@ static inline void run_hrtimer_queue(struct hrtimer_base *base)
{ {
struct rb_node *node; struct rb_node *node;
if (!base->first)
return;
if (base->get_softirq_time) if (base->get_softirq_time)
base->softirq_time = base->get_softirq_time(); base->softirq_time = base->get_softirq_time();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册