From: Philippe Gerum <rpm@xenomai.org>
To: karim@opersys.com
Cc: Pavel Machek <pavel@ucw.cz>,
linux-kernel@vger.kernel.org,
Kristian Benoit <kbenoit@opersys.com>
Subject: Re: [PATCH 1/2] I-pipe: Core implementation
Date: Tue, 21 Jun 2005 15:56:29 +0200 [thread overview]
Message-ID: <42B81C8D.3050608@xenomai.org> (raw)
In-Reply-To: <42B817AF.5040700@opersys.com>
Karim Yaghmour wrote:
> Philippe Gerum wrote:
>
>>Any objection to make the pipeline a static-only feature?
>
>
> FWIW, we conducted our tests with the I-pipe loaded as a module.
> Though we didn't publish that particular result as part of our
> earlier posting, we found that the price for having it loaded,
> but unused, versus not having it loaded at all made virtually
> no difference on overall system overhead. Such results would
> seem to indicate that having it as a loadable module has no
> specific advantage. Note, though, that we didn't do the test on
> all configs, just the "plain" one.
>
> Of course the issue would be much easier to decide if you
> could provide a brief explanation as to what the difference is, in
> terms of execution path, between having it compilled as a module
> and not loaded, versus having it built-in and unused.
Having it built statically but unused by any other domain but Linux is
basically like having local_irq_disable() and friends as out-of-line
code, still with real hw masking, but with all interrupts going through
the I-pipe's interrupt handler before being dispatched to the regular
Linux handler.
OTOH, having the I-pipe as an unloaded module leaves the original
interrupt path untouched (at least on x86), but requires a boolean check
into each stall/unstall/test operations, and a few more (~4) in the
interrupt path just to make sure that we are operating in real or
virtual (i.e. pipelined) mode, IOW to check if the pipelining engine is
engaged or not, and further decide if we should use the CPU or I-pipe
masking ops. The other solution would have been to play the function
pointer game in order to reach the pipelined/non-pipelined operations
depending on the box being i-piped or not, but I was unsure of the
impact on performances.
--
Philippe.
next prev parent reply other threads:[~2005-06-21 14:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-17 23:21 [PATCH 1/2] I-pipe: Core implementation Philippe Gerum
2005-06-18 17:01 ` Pavel Machek
2005-06-20 20:29 ` Philippe Gerum
2005-06-20 22:47 ` Karim Yaghmour
2005-06-21 7:15 ` Philippe Gerum
2005-06-21 13:35 ` Karim Yaghmour
2005-06-21 13:56 ` Philippe Gerum [this message]
2005-06-20 20:32 ` Valdis.Kletnieks
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=42B81C8D.3050608@xenomai.org \
--to=rpm@xenomai.org \
--cc=karim@opersys.com \
--cc=kbenoit@opersys.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@ucw.cz \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox