linux-mips
[Top] [All Lists]

Re: [PATCH 0/2] MIPS: Move signal return trampolines off the stack.

To: David Daney <ddaney@caviumnetworks.com>
Subject: Re: [PATCH 0/2] MIPS: Move signal return trampolines off the stack.
From: David VomLehn <dvomlehn@cisco.com>
Date: Wed, 22 Apr 2009 11:04:47 -0700
Authentication-results: sj-dkim-2; header.From=dvomlehn@cisco.com; dkim=pass ( sig from cisco.com/sjdkim2002 verified; );
Cc: linux-mips@linux-mips.org, Ralf Baechle <ralf@linux-mips.org>
Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; l=1183; t=1240423488; x=1241287488; c=relaxed/simple; s=sjdkim2002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=dvomlehn@cisco.com; z=From:=20David=20VomLehn=20<dvomlehn@cisco.com> |Subject:=20Re=3A=20[PATCH=200/2]=20MIPS=3A=20Move=20signal =20return=20trampolines=20off=20the=20stack. |Sender:=20; bh=jhHO92VnA3I6Qsv5v4n6kn+lZierwWpDxADI99XzRz8=; b=R88WL/XCxkfHY+juI541CkXJWyM6a/x6GViJbCO6Ig8ln8oybS7HqMpJn2 Ib5sgJzAefMRAV120b++8EY3IMrfaXMOIVUids+9VoAyYUFGX57XLYiLzPuN 6hbbQ6jaAr;
In-reply-to: <49EE3B0F.3040506@caviumnetworks.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <49EE3B0F.3040506@caviumnetworks.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.18 (2008-05-17)
On Tue, Apr 21, 2009 at 02:30:55PM -0700, David Daney wrote:
> This patch set (against 2.6.29.1) creates a vdso and moves the signal
> trampolines to it from their previous home on the stack.
>
> Tested with a 64-bit kernel on a Cavium Octeon cn3860 where I have the
> following results from lmbench2:
>
> Before:
> n64 - Signal handler overhead: 14.517 microseconds
> n32 - Signal handler overhead: 14.497 microseconds
> o32 - Signal handler overhead: 16.637 microseconds
>
> After:
>
> n64 - Signal handler overhead: 7.935 microseconds
> n32 - Signal handler overhead: 7.334 microseconds
> o32 - Signal handler overhead: 8.628 microseconds

Nice numbers, and something that will be even more critical as real-time
features are added and used!

> Comments encourged.

Only one comment, which I would not want to hold up acceptance:
based on some numbers sent out recently, it looks like the kernel is
experiencing some performance issues with exec() and I think this change will
make it slightly slower. You could avoid this by deferring installation of
the trampoline to the first use of a system call that registers a signal
handler.

David VomLehn

<Prev in Thread] Current Thread [Next in Thread>