Skip to content

ppc RT: Realtime preempt support for PPC

Frank Rowand lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 of 5 patches 8 repliesIn review

3 of 5 patches are in this archive. The cover letter announces 5.

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5ppc RT: ppc_rt.patcharch/ppc/8260_io/enet.c arch/ppc/8260_io/fcc_enet.c arch/ppc/8xx_io/commproc.c +28 more+116 -1110 replies
3/5ppc RT: ppc_mcount.patcharch/ppc/boot/Makefile arch/ppc/kernel/entry.S+91 -00 replies
4/5ppc RT: ibm_emac_core.patchdrivers/net/ibm_emac/ibm_emac_core.c+0 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/5] ppc RT: Realtime preempt support for PPC

Ingo,

I have updated my patch of 16 Feb 2005 that adds realtime support for PowerPC (32 bit only). The patches will be sent in following emails.

The patch series applies over Ingo's real-time preempt patch:

http://people.redhat.com/mingo/realtime-preempt/realtime-preempt-2.6.11-rc4-V0.7.39-02

The patches are:

1/5 ppc_rt.patch - the core realtime functionality for PPC

2/5 ppc_cpu_khz.patch - This is separated out from the first patch to
reduce the noise in the first patch. It defines cpu_khz, which is needed by usecs_to_cyles() in kernel/latency.c.

3/5 ppc_mcount.patch - Implements mcount() and _mcount() for performance
instrumentation.

The following two patches should not be applied by anyone unless they want to test the other three patches on the IBM PPC 405GP eval board:

4/5 ibm_emac_core.patch - This patch has been separately submitted to PPC.

5/5 smp405.patch - a hack to allow compiling a PPC 405 kernel with
CONFIG_SMP=y

The changes from the previous patch are:

Added #ifdef CONFIG_PPC32 to raw_rwlock_t in include/linux/rt_lock.h. The ppc lock is a signed int instead of an unsigned long.

Replaced us_to_tb with cpu_khz to more consistent with i386 and to remove the #ifdef CONFIG_PPC in usecs_to_cycles().

Added mcount() and _mcount() that I previously said was a work in progress.

Added missing underscores in arch/ppc/lib/locks.c for __raw_read_trylock() and __raw_read_lock().

Changed tlb->mm to tlb_mm(tlb) in include/asm-ppc/tlb.h.

Reverted change of dma_spin_lock in include/asm-ppc/dma.h from raw_spinlock_t to spinlock_t to be consistent with kernel/dma.c.

This patch has been tested on the IBM PPC 405GP eval board only. You might notice that this board is not an SMP board. A few small changes were required to build an SMP kernel, even though only one cpu is actually active.

The testing has included a short (~ten minute) stress test for sixteen configuration permutations. The config files for the permutations are in the attached tar in the following directories:

instrumentation off instrumentation on
---------------------- ----------------------

SMP=n SMP=y SMP=n SMP=y
---------- ---------- ---------- ----------

 PREEMPT_NONE          pn          pn_smp          lat_pn      lat_pn_smp
 PREEMPT_VOLUNTARY     pv          pv_smp          lat_pv      lat_pv_smp
 PREEMPT_DESKTOP       pd          pd_smp          lat_pd      lat_pd_smp
 PREEMPT_RT            pr          pr_smp          lat_pr      lat_pr_smp

Any comments, suggestions, needed changes, etc are welcome.

Thanks,

-Frank

Signature · 2 lines
Frank Rowand <[email protected]>
MontaVista Software, Inc