Re: [PATCH 8/9] irq_work: Make self-IPIs optable

From: Frederic Weisbecker
Date: Fri Nov 16 2012 - 12:40:14 EST


2012/11/16 Steven Rostedt <rostedt@xxxxxxxxxxx>:
> On Fri, 2012-11-16 at 03:21 +0100, Frederic Weisbecker wrote:
>>
>> /*
>> * Claim the entry so that no one else will poke at it.
>> @@ -68,14 +59,18 @@ void __weak arch_irq_work_raise(void)
>> */
>> static void __irq_work_queue(struct irq_work *work)
>> {
>> - bool empty;
>> -
>> preempt_disable();
>>
>> - empty = llist_add(&work->llnode, &__get_cpu_var(irq_work_list));
>> - /* The list was empty, raise self-interrupt to start processing. */
>> - if (empty)
>> - arch_irq_work_raise();
>> + llist_add(&work->llnode, &__get_cpu_var(irq_work_list));
>> +
>> + /*
>> + * If the work is flagged as "lazy", just wait for the next tick
>> + * to run it. Otherwise, or if the tick is stopped, raise the irq work.
>
> Speaking more Greek? ;-)
>
> How about:
>
> If the work is not "lazy" or the tick is stopped, raise the irq
> work interrupt (if supported by the arch), otherwise, just wait
> for the next tick.

Much better :)

>
> Other than that, Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

Thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/