All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: Xenomai-core@domain.hid
Subject: [Xenomai-core] [PATCH 0/6] Fix, refactor, and optimize xnlock services, v2
Date: Sun, 02 Mar 2008 12:02:12 +0100	[thread overview]
Message-ID: <47CA8934.3060405@domain.hid> (raw)

[-- Attachment #1: Type: text/plain, Size: 2261 bytes --]

Hi,

here comes version 2 of my xnlock rework. Changes since the first
release:

 - Moved xnlock_spin out-of-line instead uninlining the irqsave/restore
   services
 - Beautified xnlock_dbg interface (now only static-inlines)
 - Split-up basic xnlock_dbg refactoring from whitespace fixes
   (interdiff is your friend)
 - Added support for xnlock debugging on UP
 - Dropped barrier patch (already merged)

The text size reduction of this series (for CONFIG_SMP, without
debugging (CONFIG_DEBUG_INFO was on, though), and without enabling
ticket locks):

Before:
   text    data     bss     dec     hex filename
  75371    2184     308   77863   13027 kernel/xenomai/skins/native/xeno_native.o
  27407    2256    1112   30775    7837 kernel/xenomai/skins/rtdm/xeno_rtdm.o
  96813    1472  160224  258509   3f1cd kernel/xenomai/skins/posix/xeno_posix.o
 107476    5608  457140  570224   8b370 kernel/xenomai/nucleus/xeno_nucleus.o

After:
   text    data     bss     dec     hex filename
  71751    2184     308   74243   12203 kernel/xenomai/skins/native/xeno_native.o
  26570    2192    1112   29874    74b2 kernel/xenomai/skins/rtdm/xeno_rtdm.o
  91107    1392  160224  252723   3db33 kernel/xenomai/skins/posix/xeno_posix.o
 102860    5496  454580  562936   896f8 kernel/xenomai/nucleus/xeno_nucleus.o

To estimate the latency reduction of this series (specifically due to
patch 3 and 4), I ran latency -p100 over several hours on a widely
isolated 1.6 GHz core (only Linux timer and rescheduling IRQs) under
cache calibrator load. The results:

RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat worst
Before:
RTS|       0.457|       1.450|      28.156|       0|    04:00:52/04:00:52
After:
RTS|       0.450|       1.453|      23.283|       0|    06:37:19/06:37:19

I'm sure this gain is far to much for this changes, ie. we are missing
some constellation in the second run that caused the 28 us peak in the
first run. However, the tendency matches other experiments I did with
more IRQ load on the target core. Any attempt to reproduce my results is
welcome!

Note that the above numbers do not yet include the gain from my
ipipe-head optimizations I posted a few days ago!

Jan




[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 254 bytes --]

             reply	other threads:[~2008-03-02 11:02 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-02 11:02 Jan Kiszka [this message]
2008-03-02 15:10 ` [Xenomai-core] [PATCH 0/6] Fix, refactor, and optimize xnlock services, v2 Gilles Chanteperdrix
2008-03-02 15:52   ` Jan Kiszka
2008-03-03 10:06     ` Gilles Chanteperdrix
2008-03-28 18:21       ` Jan Kiszka

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=47CA8934.3060405@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=Xenomai-core@domain.hid \
    /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.