Prev: addjust discard request to be aligned with hwsect size to support SSDs with larger sector size
Next: [patch 1/7] softirq: Add a no local fallback option to send_remote_softirq
From: Suresh Siddha on 17 May 2010 15:10 There is no need to add the SCHED_SOFTIRQ work to the softirq_work_list when sent remotely. This is because any pending work associated with SCHED_SOFTIRQ need not be migrated to a new cpu when the current cpu is going down etc. Also I am not sure how this softirq_work_list works for other softirqs. I don't see anyone removing the list entries from the softirq_work_list after it is handled on a remote cpu. For now, just skip it for SCHED_SOFTIRQ. Signed-off-by: Suresh Siddha <suresh.b.siddha(a)intel.com> Cc: David S. Miller <davem(a)davemloft.net> Cc: Jens Axboe <jens.axboe(a)oracle.com> --- kernel/softirq.c | 5 +++++ 1 file changed, 5 insertions(+) Index: tip/kernel/softirq.c =================================================================== --- tip.orig/kernel/softirq.c +++ tip/kernel/softirq.c @@ -557,6 +557,11 @@ static void __local_trigger(struct call_ { struct list_head *head = &__get_cpu_var(softirq_work_list[softirq]); + if (softirq == SCHED_SOFTIRQ) { + raise_softirq_irqoff(softirq); + return; + } + list_add_tail(&cp->list, head); /* Trigger the softirq only if the list was previously empty. */ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |