irq_work: Make self-IPIs optable
authorFrederic Weisbecker <fweisbec@gmail.com>
Fri, 19 Oct 2012 20:43:41 +0000 (16:43 -0400)
committerFrederic Weisbecker <fweisbec@gmail.com>
Sun, 18 Nov 2012 00:01:22 +0000 (01:01 +0100)
commitbc6679aef673f9dcb8f718528fc3df49ff661af9
tree870cf7742a3f26c99e2a4a209dbe4db656d6ad6b
parent8aa2accee41f7045dc904fa41d4475b2f6ffae3e
irq_work: Make self-IPIs optable

On irq work initialization, let the user choose to define it
as "lazy" or not. "Lazy" means that we don't want to send
an IPI (provided the arch can anyway) when we enqueue this
work but we rather prefer to wait for the next timer tick
to execute our work if possible.

This is going to be a benefit for non-urgent enqueuers
(like printk in the future) that may prefer not to raise
an IPI storm in case of frequent enqueuing on short periods
of time.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
include/linux/irq_work.h
kernel/irq_work.c