[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20060726081442.GB11604@elte.hu>
Date: Wed, 26 Jul 2006 10:14:42 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Tim Chen <tim.c.chen@...ux.intel.com>
Cc: arjan@...radead.org, linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...l.org>
Subject: Re: Reducing local_bh_enable/disable overhead in irqtrace
* Tim Chen <tim.c.chen@...ux.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@...el.com>
Acked-by: Ingo Molnar <mingo@...e.hu>
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists