public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Frank Rowand <frowand@mvista.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org, frowand@mvista.com
Subject: Re: [PATCH 0/5] ppc RT: Realtime preempt support for PPC
Date: Mon, 21 Mar 2005 16:38:54 -0800	[thread overview]
Message-ID: <423F691E.200@mvista.com> (raw)
In-Reply-To: <20050316100914.GA16012@elte.hu>

Ingo Molnar wrote:
> hi Frank - sorry about the late reply, was busy with other things. Your

My turn to be late, but now I'm back from vacation :-).


> ppc patches look mostly mergeable, with some small details still open:
> 
> * Frank Rowand <frowand@mvista.com> wrote:
> 
> 
>>The patches are:
>>
>> 1/5 ppc_rt.patch          - the core realtime functionality for PPC
> 
> 
> what is the rationale behind the rt_lock.h changes? The #ifdef
> CONFIG_PPC32 changes in generic code are not really acceptable, the -RT
> tree tries to keep a single spinlock definition and debugging
> primitives, across all architectures.

The first "#ifdef CONFIG_PPC32" adds some debug fields to raw_spinlock_t.
The debug fields are only used in the pre-existing arch/ppc/lib/locks.c,
and are disabled unless CONFIG_DEBUG_SPINLOCK is defined.
CONFIG_DEBUG_SPINLOCK is commented out in lib/Kconfig.debug as "# broken,
disable for now".  If CONFIG_DEBUG_SPINLOCK is ever enabled it will quickly
become apparent that there are conflicts between arch/ppc/lib/locks.c and
rt_lock.h (compile errors will occur) and the debug fields can easily be
removed from locks.c.
Thus it is OK that you left this chunk out of your patch.

The second "#ifdef CONFIG_PPC32" is in raw_rwlock_t, making the lock
field signed instead of unsigned.  The PPC code uses the value of
-1 to mean write locked, 0 to mean unlocked, and >0 to mean read
locked.  With one minor exception, all of the PPC raw_rwlock_t related
code will work properly with an unsigned type because the code that
checks the value of lock is assembly and treats lock as signed.  The
one non-assembly code that examines lock as a signed object is in
arch/ppc/lib/locks.c and is disabled unless CONFIG_DEBUG_SPINLOCK is
defined.  If CONFIG_DEBUG_SPINLOCK is ever enabled this will be
very evident as each call to __raw_write_unlock() will result in a
printk() warning.  The strongest reason I could advance for making
lock signed for PPC32 is that any future C code that checks for a
lock value less than zero will not function correctly and might not
be very obvious.
Thus it is also OK that you left this chunk out of your patch.


> 
> to drive things forward, i've applied the first 3 patches (except the
> rt_lock.h chunk from the first patch), and released it as part of the
> 40-03 patch:
> 
>   http://redhat.com/~mingo/realtime-preempt/
> 
> so that you can send followup patches based on this. Patches #4 and #5
> are routed via the upstream PPC tree, so -RT should not carry them,
> right?

Yes, -RT should not carry them.  Patch #4 went in via the PPC tree.
Patch #5 is a temporary hack that is only for someone with an IBM 405gp
reference platform who might want to test real-time with an SMP turned on.


-Frank
-- 
Frank Rowand <frank_rowand@mvista.com>
MontaVista Software, Inc


  parent reply	other threads:[~2005-03-22  0:43 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-07 21:48 [PATCH 0/5] ppc RT: Realtime preempt support for PPC Frank Rowand
2005-03-16 10:09 ` Ingo Molnar
2005-03-16 15:30   ` K.R. Foley
2005-03-17  8:38     ` Ingo Molnar
2005-03-22  0:38   ` Frank Rowand [this message]
2005-03-31  1:36     ` Frank Rowand
2005-03-31  9:16       ` Ingo Molnar
2005-04-01 23:55         ` Frank Rowand
2005-04-05  5:39           ` Ingo Molnar

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=423F691E.200@mvista.com \
    --to=frowand@mvista.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /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