From: Philippe Gerum <rpm@xenomai.org>
To: Jan Kiszka <jan.kiszka@domain.hid>
Cc: xenomai-core <xenomai@xenomai.org>
Subject: Re: [Xenomai-core] [PATCH] optimise syscall mux-code calculation
Date: Sat, 15 Jul 2006 04:24:31 +0200 [thread overview]
Message-ID: <1152930271.5027.69.camel@domain.hid> (raw)
In-Reply-To: <44B62AE7.8080503@domain.hid>
On Thu, 2006-07-13 at 13:13 +0200, Jan Kiszka wrote:
> Hi,
>
> some may recall the "micro-optimisation" thread I once started. Here is
> now a simple approach to deal with the yet suboptimal mux-code
> calculation in user-space. Code saving:
>
> Before:
> text data bss dec hex filename
> 18004 476 8 18488 4838 native/.libs/libnative.so
> 27445 696 4 28145 6df1 posix/.libs/libpthread_rt.so
>
> After:
> text data bss dec hex filename
> 17172 476 8 17656 44f8 native/.libs/libnative.so
> 26805 696 4 27505 6b71 posix/.libs/libpthread_rt.so
>
> Of course, this also results in a few ops less being executed on each
> Xenomai syscall invocation (not many cycles, though).
>
> Tested without problems on x86 so far.
>
This is post 2.2 stuff since we need to check this critical change
against each and every supported arch. Since this breaks the ABI
including the ascending compatibility between old apps and new kernel
support, this won't make it during the v2 series either.
> Jan
> plain text document attachment (optimise-muxcode-calculation.patch)
> ---
> include/asm-arm/syscall.h | 25 +++++++++++++------------
> include/asm-blackfin/syscall.h | 4 +++-
> include/asm-i386/syscall.h | 3 ++-
> include/asm-ia64/syscall.h | 23 ++++++++++++-----------
> include/asm-powerpc/syscall.h | 3 ++-
> ksrc/nucleus/shadow.c | 3 ++-
> 6 files changed, 34 insertions(+), 27 deletions(-)
>
> Index: xenomai/include/asm-arm/syscall.h
> ===================================================================
> --- xenomai.orig/include/asm-arm/syscall.h
> +++ xenomai/include/asm-arm/syscall.h
> @@ -26,6 +26,7 @@
> #include <asm-generic/xenomai/syscall.h>
>
> #define __xn_mux_code(id,op) ((op << 24)|((id << 16) & 0xff0000)|(__xn_sys_mux & 0xffff))
> +#define __xn_mux_code_shft(shifted_id,op) ((op << 24)|shifted_id|(__xn_sys_mux & 0xffff))
+#define __xn_mux_code_shft(shifted_id,op) ((op << 24)|shifted_id)
should be enough.
<snip>
> Index: xenomai/include/asm-blackfin/syscall.h
> ===================================================================
> --- xenomai.orig/include/asm-blackfin/syscall.h
> +++ xenomai/include/asm-blackfin/syscall.h
> @@ -27,6 +27,7 @@
> (i.e. negative syscall number in orig_p0 meaning "non-syscall
> entry"). */
> #define __xn_mux_code(id,op) ((id << 24)|((op << 16) & 0xff0000)|(__xn_sys_mux & 0xffff))
> +#define __xn_mux_code_fast(shifted_id,op) ((op << 24)|shifted_id|(__xn_sys_mux & 0xffff))
>
Breakage alert.
--
Philippe.
next prev parent reply other threads:[~2006-07-15 2:24 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-13 11:13 [Xenomai-core] [PATCH] optimise syscall mux-code calculation Jan Kiszka
2006-07-15 2:24 ` Philippe Gerum [this message]
2006-07-15 8:06 ` Jan Kiszka
2006-07-15 8:31 ` Philippe Gerum
2006-07-15 8:37 ` Jan Kiszka
2006-07-15 15:11 ` Philippe Gerum
2006-07-15 11:40 ` Jan Kiszka
2006-07-15 12:13 ` Gilles Chanteperdrix
2006-07-15 12:29 ` Jan Kiszka
2006-07-15 15:56 ` Gilles Chanteperdrix
2006-07-16 9:43 ` Jan Kiszka
2006-07-16 14:47 ` Jan Kiszka
2006-07-19 9:25 ` Philippe Gerum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1152930271.5027.69.camel@domain.hid \
--to=rpm@xenomai.org \
--cc=jan.kiszka@domain.hid \
--cc=xenomai@xenomai.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.