Re: High latencies on MPC5200 with patch-2.6.24-rc5-rt1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jürgen,

Juergen Beisert wrote:
> On Thursday 10 January 2008 14:17, Wolfgang Grandegger wrote:
>> Hi Robert,
>>
>> Robert Schwebel wrote:
>>> Wolfgang,
>>>
>>> On Wed, Jan 09, 2008 at 11:51:07PM +0100, Robert Schwebel wrote:
>>>> Throwing in the versions from 2.6.23.3-rt5 doesn't help, the effect
>>>> stays the same. So I assume it is a side effect.
>>> Can you test the following patch by John Stulz (thanks to John for the
>>> quick help on irc!), which fixes the issues on my board:
>>>
>>> ----------8<----------
>>> Index: linux-2.6.24-rc5/arch/powerpc/kernel/time.c
>>> ===================================================================
>>> --- linux-2.6.24-rc5.orig/arch/powerpc/kernel/time.c
>>> +++ linux-2.6.24-rc5/arch/powerpc/kernel/time.c
>>> @@ -773,7 +773,7 @@ void update_vsyscall(struct timespec *wa
>>>  	stamp_xsec = (u64) xtime.tv_nsec * XSEC_PER_SEC;
>>>  	do_div(stamp_xsec, 1000000000);
>>>  	stamp_xsec += (u64) xtime.tv_sec * XSEC_PER_SEC;
>>> -	update_gtod(clock->cycle_last, stamp_xsec, t2x);
>>> +	update_gtod(clock->cycle_last-clock->cycle_accumulated, stamp_xsec,
>>> t2x); }
>>>
>>>  void update_vsyscall_tz(void)
>>> ----------8<----------
>>>
>>> With this patch ontop of 2.6.24-rc5-rt1 plus the board support patches
>>> for the phyCORE-MPC5200B-tiny, I get this result from cyclictest, again
>>> under "(while true; do hackbench 10; done) &" load:
>>>
>>> T: 0 (  867) P:80 I:   10000 C:  105002 Min:      31 Act:      48 Avg:   
>>>   51 Max:      92
>> Unfortunately, it doesn't really help on my Icecube board.
>>
>> bash-3.00# ./cyclictest -n -p80 -i1000
>> 129.85 93.18 38.05 4/45 6354
>> 130.41 162.23 83.05 3/49 8395
>> T: 0 ( 4621) P:80 I:1000 C: 477097 Min:     25 Act:   64 Avg:   67 Max:
>>     286
>>
>> bash-3.00# ./hackbench 10
>> Time: 95.402
>>
>> Could you run your cyclictest much longer?
>>
>> And hackbench takes ages, already without running cyclictest:
> 
> Did your read http://lkml.org/lkml/2007/12/7/181 ? Don't know if it is 
> relevant here.

Seems somehow related but my -rt kernel already selects SLAB:

  $ cat init/Kconfig
  ...
  config SLUB
        bool "SLUB (Unqueued Allocator)"
        depends on !PREEMPT_RT

With SLUB re-enabled I get the attached interesting oops.

Wolfgang.

[    5.287422] BUG: sleeping function called from invalid context IRQ-192(735) at kernel/rtmutex.c:638
[    5.296678] in_atomic():0 [00000000], irqs_disabled():1
[    5.302009] Call Trace:
[    5.304501] [c39e1e50] [c000919c] show_stack+0x50/0x190 (unreliable)
[    5.311024] [c39e1e80] [c001b3c4] __might_sleep+0xec/0x110
[    5.316652] [c39e1e90] [c0207ad8] __lock_text_start+0x88/0xa0
[    5.322531] [c39e1ea0] [c007c2a8] __slab_alloc+0x3cc/0x644
[    5.328141] [c39e1ed0] [c007cf70] __kmalloc_track_caller+0xdc/0xe4
[    5.334461] [c39e1ef0] [c01803e4] __alloc_skb+0x60/0x120
[    5.339910] [c39e1f10] [c01561c8] mpc52xx_fec_rx_interrupt+0x180/0x308
[    5.346587] [c39e1f40] [c0051620] handle_IRQ_event+0x6c/0x110
[    5.352471] [c39e1f70] [c0051fac] thread_simple_irq+0x88/0x114
[    5.358434] [c39e1f90] [c0052364] do_irqd+0x32c/0x3ac
[    5.363597] [c39e1fd0] [c003ad28] kthread+0x84/0x8c
[    5.368590] [c39e1ff0] [c0010b90] kernel_thread+0x44/0x60

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux