>On Tue, Aug 16, 2011 at 3:03 PM, Frank Rowand <frank.rowand@xxxxxxxxxxx> wrote: > On 08/16/11 11:38, Frank Rowand wrote: >> SMP Panda is booting fine for me on a slightly older version: 3.0.0-rt6 >> >> gcc 4.3.3 >> >> Config is attached. >> >> I used make omap2plus_defconfig then tweaked a few items: > And 3.0.1-rt11 also boots SMP CONFIG_PREEMPT_RT_FULL on panda board for > me, with the same recipe I gave for 3.0.0-rt6. Thanks Frank. I first tried your suggestion of "make omap2plus_defconfig" with additional config options to enable USB ethernet with rt8 patch but could not get SMP kernel to boot. Then, I applied rt11 patch and used the exact same .config file that you had posted in this thread and the SMP kernel is booting fine now. I have applied the following high-resolution timer patch that is posted in the OMAP mailing list: ************ PATCH START ************** diff -rupN a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c --- a/arch/arm/mach-omap2/timer-gp.c 2011-06-06 10:42:45.964924603 -0500 +++ b/arch/arm/mach-omap2/timer-gp.c 2011-06-06 10:44:03.725422077 -0500 @@ -230,6 +230,12 @@ static void __init omap2_gp_clocksource_ static char err2[] __initdata = KERN_ERR "%s: can't register clocksource!\n"; + char clocksource_hwmod_name[8]; /* 8 = sizeof("timerXX0") */ + + /* XXX: This may not be always true, we might get different timer */ + sprintf(clocksource_hwmod_name, "timer%d", gptimer_id + 1); + omap_hwmod_setup_one(clocksource_hwmod_name); + gpt = omap_dm_timer_request(); if (!gpt) printk(err1, clocksource_gpt.name); ************ PATCH END ************** The cyclic test results are not acceptable (attached the output of cyclictest). I am seeing maximum latency of 757 us on core-0 and 1905 us on core-1. Are you (Is anyone) seeing better results on latency with SMP kernel with RT patch on ARM (OMAP4 processors)? I have seen ~25 us of latency with single core kernel (though I have used a different kernel configuration). PS: The kernels that I build especially with RT patch don't boot the first time on the panda board. Sometimes, it takes 2 or 3 resets and sometimes 10 to 15 times. When it hangs, it always hangs right after "Uncompressing Linux... done, booting the kernel." It looks like it is probably due to some race conditions in kernel during initial boot. I am hoping it is not a hardware issue. Has anyone else been experiencing flakiness and early hangs on panda board? I am using code sourcery toolchain (Sourcery G++ Lite 2010.09-50 for ARM GNU/Linux ) to build the kernel. The Linux kernels at some point in the past month or so that I built with the latest code sourcery toolchain (Sourcery G++ Lite 2011.03-41 for ARM GNU/Linux) did not boot. That said, it is hard to blame the toolchain, because of the flakiness in booting the same kernel image (boots fine after 15 resets). Thanks, Sankara Muthukrishnan
Attachment:
cyclicTestSMP.log
Description: Binary data