From: Marco Stornelli <marco.stornelli@gmail.com>
To: Michael Schnell <mschnell@lumino.de>
Cc: linux-embedded@vger.kernel.org
Subject: Re: AMP on an SMP system
Date: Fri, 02 Aug 2013 17:37:07 +0200 [thread overview]
Message-ID: <51FBD223.9020809@gmail.com> (raw)
In-Reply-To: <51FBCF46.4080700@lumino.de>
Il 02/08/2013 17:24, Michael Schnell ha scritto:
> On 08/02/2013 04:53 PM, Marco Stornelli wrote:
>>
>>> - how to assign an interrupt (e.g. a dedicated timer) to the
>>> subsystem ?
>>
>> Interrupt handler are kernel thread, so you can schedule your kernel
>> thread on your "normal" cpu.
> Sorry. I don't understand.
>
> The point I'd like to make is, that for really low latency stuff the ISR
> needs to take place immediately when the hardware fires an interrupt.
>
> As the Linux kernel will (for the SMP CPUs it handles) need to disable
> interrupt in certain cases, it is essential that the "really low
> latency" interrupt is assigned to the AMP cpu (that the Kernel will
> never touch).
>
>> AFAIC, no latency for cpu "under affinity".
> That would be great but it need the stuff described above.
> In fact the interrupt would need to be assigned to the AMP cpu by some
> hardware means (that I don't know anything about yet), and not be
> "forwarded" in any way from some other cpu (which is managed by the
> Kernel) and thus might be in a "interrupt disable state at some point in
> time.
>
I don't know your hw so my consideration are really general. ISRs in rt
kernel doesn't exist or at least the only work is to wake up the kernel
thread for the management. The thing you can do is to move the kernel
thread for interrupt X where you want to manage it, or you can set a
specific scheduler policy. For example you can set a SCHED_FIFO with a
very high priority for your "really low latency" tasks. RT kernel does
the work for you :) You can see here: http://lwn.net/Articles/146861/
Marco
next prev parent reply other threads:[~2013-08-02 15:37 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-02 8:33 AMP on an SMP system Michael Schnell
2013-08-02 11:42 ` Robert Schwebel
2013-08-02 12:13 ` Michael Schnell
2013-08-02 14:53 ` Marco Stornelli
2013-08-02 15:24 ` Michael Schnell
2013-08-02 15:37 ` Marco Stornelli [this message]
2013-08-02 16:00 ` Michael Schnell
2013-08-02 15:58 ` Marco Stornelli
2013-08-03 19:11 ` Robert Schwebel
2013-08-05 7:25 ` Michael Schnell
2013-08-05 8:17 ` Robert Schwebel
2013-08-05 9:04 ` Michael Schnell
2013-08-04 21:28 ` Lambrecht Jürgen
2013-08-05 7:36 ` Michael Schnell
2013-08-05 10:00 ` Lambrecht Jürgen
2013-08-07 8:23 ` Michael Schnell
2013-08-07 8:29 ` Michael Schnell
2013-08-07 9:04 ` Michael Schnell
2013-08-08 7:41 ` Michael Schnell
-- strict thread matches above, loose matches on Subject: below --
2013-08-02 16:16 Jon Sevy
2013-08-05 7:45 ` Michael Schnell
2013-08-05 8:21 ` Robert Schwebel
2013-08-05 8:42 ` Michael Schnell
2013-08-05 9:06 Guenter Ebermann
2013-08-05 9:34 ` Michael Schnell
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=51FBD223.9020809@gmail.com \
--to=marco.stornelli@gmail.com \
--cc=linux-embedded@vger.kernel.org \
--cc=mschnell@lumino.de \
/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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).