Re: [Xenomai-core] I-pipe patch for ARM S3C24xx (v4)

2006-11-10 Thread Sebastian Smolorz
Am Freitag, 10. November 2006 11:14 schrieb Gilles Chanteperdrix:
> Sebastian Smolorz wrote:
> > Hi all,
> >
> > now that the teething problems of my I-pipe port to the S3C24xx are cured
> > (hopefully ...) I'm going to iterate it to v4. We've established a
> > project homepage for that port
> > http://opensource.emlix.com/ipipe-s3c24xx/
>
> What happens with __ipipe_mach_irq_mux_p if irq is smaller than IRQ_CAM ?

OK, this is not correct. I will fix it to

#define __ipipe_irqbit(irq) (1 << ((irq) - S3C2410_CPUIRQ_OFFSET))

as you suggested originally.


Thanks,

Sebastian

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] I-pipe patch for ARM S3C24xx (v4)

2006-11-10 Thread Gilles Chanteperdrix

Sebastian Smolorz wrote:

Hi all,

now that the teething problems of my I-pipe port to the S3C24xx are cured 
(hopefully ...) I'm going to iterate it to v4. We've established a project 
homepage for that port

http://opensource.emlix.com/ipipe-s3c24xx/


What happens with __ipipe_mach_irq_mux_p if irq is smaller than IRQ_CAM ?

--
 Gilles Chanteperdrix

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] I-pipe patch for ARM S3C24xx (v4)

2006-11-09 Thread Jan Kiszka
Sebastian Smolorz wrote:
> Jan Kiszka wrote:
>> Sebastian Smolorz wrote:
>>> However, there is one disturbing issue. When I execute
>>>
>>> dd if=/dev/zero of=/dev/null
>>>
>>> and the latency test in userspace with a period not less than 150 us the
>>> worst case latency is about 220 us. But when I start latency with -p 100
>>> I get a softlock like the one attached. I guess this is the same problem
>>> as Detlef Vollmann described in [2]. So I think it's time for a big fat
>>> ARM-specific warning in the troubleshooting file and perhaps a
>>> modification of the testsuite so that if being compiled for ARM the
>>> default sample periods are greater than the 100 us now.
>> Something is preventing the watchdog kthread from being executed for
>> more than 10 s. Maybe this is just a sign that the systems is hopelessly
>> overloaded (what are average latencies?).
> 
> They are 120-130 us.

Which is a good sign that the board is basically only flushing caches
when running the test at this frequency. Still the question remains if
the BUG is an expectable behaviour or a sign for hidden problems.

> 
>> Maybe it is a real IRQ or 
>> scheduling issue in Linux caused by I-pipe. Maybe it is time to port the
>> I-pipe tracer... ;)
> 
> With the latest Adeos upgrade for ARM the I-pipe tracer was integrated, 
> wasn't 
> it? I was already taking its usage into account.

The arch-independent code is merged for ARM, but it still takes to port
ipipe-mcount.S and likely ipipe_read_tsc + related services. Not much to
do, though. Take a look at the code in PREEMPT_RT for the mcount part.

Jan



signature.asc
Description: OpenPGP digital signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] I-pipe patch for ARM S3C24xx (v4)

2006-11-09 Thread Sebastian Smolorz
Jan Kiszka wrote:
> Sebastian Smolorz wrote:
> > However, there is one disturbing issue. When I execute
> >
> > dd if=/dev/zero of=/dev/null
> >
> > and the latency test in userspace with a period not less than 150 us the
> > worst case latency is about 220 us. But when I start latency with -p 100
> > I get a softlock like the one attached. I guess this is the same problem
> > as Detlef Vollmann described in [2]. So I think it's time for a big fat
> > ARM-specific warning in the troubleshooting file and perhaps a
> > modification of the testsuite so that if being compiled for ARM the
> > default sample periods are greater than the 100 us now.
>
> Something is preventing the watchdog kthread from being executed for
> more than 10 s. Maybe this is just a sign that the systems is hopelessly
> overloaded (what are average latencies?).

They are 120-130 us.

> Maybe it is a real IRQ or 
> scheduling issue in Linux caused by I-pipe. Maybe it is time to port the
> I-pipe tracer... ;)

With the latest Adeos upgrade for ARM the I-pipe tracer was integrated, wasn't 
it? I was already taking its usage into account.

Sebastian

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] I-pipe patch for ARM S3C24xx (v4)

2006-11-09 Thread Jan Kiszka
Sebastian Smolorz wrote:
> Hi all,
> 
> now that the teething problems of my I-pipe port to the S3C24xx are cured 
> (hopefully ...) I'm going to iterate it to v4. We've established a project 
> homepage for that port
> http://opensource.emlix.com/ipipe-s3c24xx/
> in order to concentrate the source code and information at one point. 
> Probably 
> tomorrow I will come up with a patch in order to address point 2 in my email 
> from 27.10.2006 ([1]). After that I can go to v5 of my patch and beg for 
> integration. :-)

Nice to hear.

> 
> However, there is one disturbing issue. When I execute
> 
> dd if=/dev/zero of=/dev/null
> 
> and the latency test in userspace with a period not less than 150 us the 
> worst 
> case latency is about 220 us. But when I start latency with -p 100 I get a 
> softlock like the one attached. I guess this is the same problem as Detlef 
> Vollmann described in [2]. So I think it's time for a big fat ARM-specific 
> warning in the troubleshooting file and perhaps a modification of the 
> testsuite so that if being compiled for ARM the default sample periods are 
> greater than the 100 us now.

Something is preventing the watchdog kthread from being executed for
more than 10 s. Maybe this is just a sign that the systems is hopelessly
overloaded (what are average latencies?). Maybe it is a real IRQ or
scheduling issue in Linux caused by I-pipe. Maybe it is time to port the
I-pipe tracer... ;)

Jan



signature.asc
Description: OpenPGP digital signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


[Xenomai-core] I-pipe patch for ARM S3C24xx (v4)

2006-11-09 Thread Sebastian Smolorz
Hi all,

now that the teething problems of my I-pipe port to the S3C24xx are cured 
(hopefully ...) I'm going to iterate it to v4. We've established a project 
homepage for that port
http://opensource.emlix.com/ipipe-s3c24xx/
in order to concentrate the source code and information at one point. Probably 
tomorrow I will come up with a patch in order to address point 2 in my email 
from 27.10.2006 ([1]). After that I can go to v5 of my patch and beg for 
integration. :-)

However, there is one disturbing issue. When I execute

dd if=/dev/zero of=/dev/null

and the latency test in userspace with a period not less than 150 us the worst 
case latency is about 220 us. But when I start latency with -p 100 I get a 
softlock like the one attached. I guess this is the same problem as Detlef 
Vollmann described in [2]. So I think it's time for a big fat ARM-specific 
warning in the troubleshooting file and perhaps a modification of the 
testsuite so that if being compiled for ARM the default sample periods are 
greater than the 100 us now.

Sebastian


[1] https://mail.gna.org/public/xenomai-core/2006-10/msg00079.html
[2] https://mail.gna.org/public/xenomai-core/2006-09/msg00055.html
# ./latency
== Sampling period: 100 us
== Test mode: periodic user-mode task
== All results in microseconds
warming up...
BUG: soft lockup detected on CPU#0!

Pid: 772, comm:   dd
CPU: 0
PC is at __ipipe_mach_get_tsc+0x44/0x54
LR is at 0x0
pc : []lr : [<>]Not tainted
sp :   ip :   fp : 
r10:   r9 :   r8 : 
r7 :   r6 :   r5 :   r4 : 
r3 :   r2 :   r1 :   r0 : 
Flags: nZcv  IRQs on  FIQs on  Mode USER_32  Segment user
Control: C000317F  Table: 31FF  DAC: 0015
[] (show_regs+0x0/0x4c) from [] (softlockup_tick+0x64/0x7c)
 r4 = C027F424
[] (softlockup_tick+0x0/0x7c) from [] (do_timer+0x3e8/0x468)
 r4 = C02A265C
[] (do_timer+0x0/0x468) from [] (timer_tick+0xb4/0xe4)
[] (timer_tick+0x0/0xe4) from [] 
(s3c2410_timer_interrupt+0x78/0xa4)
 r6 = C02A1610  r5 =   r4 = C022A4C8
[] (s3c2410_timer_interrupt+0x0/0xa4) from [] 
(__do_irq+0x40/0x74)
 r8 = C027F424  r7 = 001E  r6 =   r5 = 
 r4 = C022A4C8
[] (__do_irq+0x0/0x74) from [] (do_edge_IRQ+0xa0/0xfc)
 r8 = C027F424  r7 = C027F424  r6 = C022A4C8  r5 = 001E
 r4 = C027E3A0
[] (do_edge_IRQ+0x0/0xfc) from [] (asm_do_IRQ+0x50/0x13c)
 r7 = C022DFC0  r6 = 001E  r5 =   r4 = C022DFC8
[] (asm_do_IRQ+0x0/0x13c) from [] 
(__ipipe_sync_stage+0x1e0/0x268)
[] (__ipipe_sync_stage+0x0/0x268) from [] 
(__ipipe_walk_pipeline+0x98/0xbc)
[] (__ipipe_walk_pipeline+0x0/0xbc) from [] 
(__ipipe_handle_irq+0x1a4/0x1b4)
 r7 = C02A3B00  r6 = 001E  r5 = 001E  r4 = 
[] (__ipipe_handle_irq+0x0/0x1b4) from [] 
(__ipipe_grab_irq+0xc4/0x110)
[] (__ipipe_grab_irq+0x0/0x110) from [] 
(__irq_usr+0x40/0x170)
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core