![]() | |||||||||||
Messages in this thread |
* Tim Chen <tim.c.chen@linux.intel.com> wrote: > Ingo, > > The recent changes from irqtrace feature has added overheads to > local_bh_disable and local_bh_enable that reduces UDP performance > across x86_64 and IA64, even though IA64 does not support the irqtrace > feature. Patch in question is > > [PATCH]lockdep: irqtrace subsystem, core > http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=c > ommit;h=de30a2b355ea85350ca2f58f3b9bf4e5bc007986 > > Prior to this patch, local_bh_disable was a short macro. Now it is a > function which calls __local_bh_disable with added irq flags save and > restore. The irq flags save and restore were also added to > local_bh_enable, probably for injecting the trace irqs code. This > overhead is on the generic code path across all architectures. On a > IA_64 test machine (Itanium-2 1.6 GHz) running a benchmark like > netperf's UDP streaming test, the added overhead results in a drop of > 3% in throughput, as udp_sendmsg calls the local_bh_enable/disable > several times. Other workloads that have heavy usages of > local_bh_enable/disable could also be affected. The patch ideally > should not have affected IA-64 performance as it does not have IRQ > tracing support. A significant portion of the overhead is in the > added irq flags save and restore, which I think is not needed if IRQ > tracing is unused. A suggested patch is attached below that recovers > the lost performance. However, the "ifdef"s in the patch are a bit > ugly. agreed - this side-effect of irqtracing should not happen. The #ifdefs are ugly, but i can see no better way either. > Signed-off-by: Tim Chen <tim.c.chen@intel.com> Acked-by: Ingo Molnar <mingo@elte.hu> Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||
| Last update: 2006-07-26 10:23 [from the cache] ©2003-2008 | |||||||||||