mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: john cooper <john.cooper@timesys.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: 2.6.12 PREEMPT_RT && PPC
Date: Tue, 26 Jul 2005 14:00:15 +0200	[thread overview]
Message-ID: <20050726120015.GB9224@elte.hu> (raw)
In-Reply-To: <42DF293A.4050702@timesys.com>


* john cooper <john.cooper@timesys.com> wrote:

> Ingo,
>     Attached is a patch for 51-28 which brings PPC up to date for 
> 2.6.12 PREEMPT_RT.  My goal was to get a more recent vintage of this 
> work building and minimally booting for PPC.  Yet this has been stable 
> even under our internal stress tests.  We now have this running on 
> 8560 and 8260 PPC targets with a few others in the pipe.

great. I've applied most of your patch and have released the -51-37 
kernel. A couple of generic bits i did not apply.

> In the process of producing the patch I stumbled across a change 
> introduced in 51-15 where in the case of PREEMPT_RT it appears 
> hw_irq_controller.end() is never being called at the end of 
> do_hardirq(). This appears to be an oversight in the code and the 
> existing PPC openpic code does register a end() handler which it 
> expects to be called in order to terminate the interrupt.  Otherwise 
> interrupts at the current level are effectively disabled.

this change was fully intentional. Basically on PREEMPT_HARDIRQS, the 
'redirected' interrupt path is special already. Right now when an IRQ is 
redirected, we do the following: ->ack() in the hardirq handler and no 
->end() (so we keep the interrupt masked), then the handling of the IRQ 
sometime later in its interrupt thread, and an ->enable(). It's a bit 
unclean, but this results in minimal per-arch changes to the IRQ code.  
Nevertheless i have applied your change, but we need to get rid of this.

> There is also what I suspect to be some "leaking" of the 
> __RAW_LOCAL_ILLEGAL_MASK bit out of the local_irq*() API primitives as 
> the *flags argument. This may subsequently be used by non-local_irq*() 
> primitives and wind up unintentionally setting the 
> __RAW_LOCAL_ILLEGAL_MASK bit in the machine control register with 
> unpredictable results.

i have not applied the generic bits for this, because it should be 
solved within the raw_local_irq*() code: check for the illegal bit if 
IRQ debugging is turned on. We very much want to know about mismatched 
IRQ flags.

> Lastly there is a problem I've yet to isolate in 
> kernel/printk.c:release_console_sem() where the expansion of 
> spin_unlock_irq(&logbuf_lock) generating a call to 
> __raw_local_irq_enable() will lockup console output on PPC.  In the 
> interim this has been reverted to a spin_unlock() call for the case of 
> PREEMPT_RT && PPC.

i have not applied this one either, please investigate it further, it 
ought to work.

Also, i have not applied the timer.c change yet either: what kind of bug 
are you trying to fix there?

	Ingo

  parent reply	other threads:[~2005-07-26 12:00 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-19 22:16 Interbench real time benchmark results Con Kolivas
2005-07-19 22:32 ` Ingo Molnar
2005-07-20  0:23   ` Daniel Walker
2005-07-20  1:04     ` Con Kolivas
2005-07-20  1:22       ` Daniel Walker
2005-07-20  1:31         ` Jesper Juhl
2005-07-20  1:45           ` Con Kolivas
2005-07-21  4:48         ` 2.6.12 PREEMPT_RT && PPC john cooper
2005-07-21 11:45           ` Gene Heskett
2005-07-21 12:22             ` Gene Heskett
2005-07-21 13:13             ` john cooper
2005-07-26 12:00           ` Ingo Molnar [this message]
2005-07-26 14:44             ` K.R. Foley
2005-07-26 14:55               ` Ingo Molnar
2005-07-26 15:06                 ` K.R. Foley
2005-07-20  0:23 ` Interbench real time benchmark results Daniel Walker
2005-07-20  4:59 ` Lee Revell

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=20050726120015.GB9224@elte.hu \
    --to=mingo@elte.hu \
    --cc=john.cooper@timesys.com \
    --cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®