All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* Variscite VAR-SOM-AM33 with patch-3.12.10-rt15
@ 2015-10-29  8:38 mr. sindar
  2015-10-29 18:45 ` Carsten Emde
  0 siblings, 1 reply; 3+ messages in thread
From: mr. sindar @ 2015-10-29  8:38 UTC (permalink / raw
  To: linux-rt-users

Hello. I need some help or maybe just advice of right use of 
realtime-kernel. We are(company where i work) now developing PLC based 
on Variscite VAR-SOM-AM33 processor 
module(http://www.variscite.com/products/system-on-module-som/cortex-a8/var-som-am33-cpu-ti-am335x-am3354-am3352). 
Variscite provides it with kernel version 3.12. I've patched it with 
patch-3.12.10-rt15 and chose Full Preemptible Kernel(RT) preemption model.
As result when i run cyclictest(like said in wiki - 
https://rt.wiki.kernel.org/index.php/Cyclictest) with no other load in 
system, i've got following results:
cyclictest -t1 -p 80 -n -i 10000 -l 10000
System without RT-patch:
T: 0 ( 1399) P:80 I:10000 C:  10000 Min:     35 Act:   69 Avg:   63 Max: 
     247
System with RT-patch:
T: 0 ( 1534) P:80 I:10000 C:  10000 Min:     39 Act:   61 Avg:   61 Max: 
      91
So it works.

But when i enable load with codesyscontrol-system(about 80% CPU load), i 
have following results:
System without RT-patch:
T: 0 ( 1412) P:80 I:10000 C:  10000 Min:      8 Act:   16 Avg:   13 Max: 
     572
System with RT-patch:
T: 0 ( 1549) P:80 I:10000 C:  10000 Min:     11 Act:   14 Avg:   17 Max: 
    2492
Is it normal that max jitter in system with RT-patch more(almost 5x 
time) than in system without RT-patch, in this case?
Sorry, if this question silly. I've used only DOS-like(one-task) systems 
earlier and wrote firmwares with one task only in embedded systems, and 
Linux only on desktop and servers, without realtime.
Thanks, in advance.

-- 
Best regards, Sergey.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Variscite VAR-SOM-AM33 with patch-3.12.10-rt15
  2015-10-29  8:38 Variscite VAR-SOM-AM33 with patch-3.12.10-rt15 mr. sindar
@ 2015-10-29 18:45 ` Carsten Emde
  2015-10-30  8:08   ` mr. sindar
  0 siblings, 1 reply; 3+ messages in thread
From: Carsten Emde @ 2015-10-29 18:45 UTC (permalink / raw
  To: mr. sindar, linux-rt-users

Sergey,

> [..]
> But when i enable load with codesyscontrol-system(about 80% CPU load), i
> have following results:
> System without RT-patch:
> T: 0 ( 1412) P:80 I:10000 C:  10000 Min:      8 Act:   16 Avg:   13 Max:
>      572
> System with RT-patch:
> T: 0 ( 1549) P:80 I:10000 C:  10000 Min:     11 Act:   14 Avg:   17 Max:
>     2492
> Is it normal that max jitter in system with RT-patch more(almost 5x
> time) than in system without RT-patch, in this case?  [..]
Is the codesyscontrol system running at priority above 80 or below? If 
above, then at least the second result makes sense, since on a 
single-core system only the one task that runs at highest priority is 
the real-time task that enjoys the worst-case latency of the system. All 
other tasks do not. If, however, priority 80 of the cyclictest task is 
the highest priority of all tasks, then you may have detected a problem 
that needs to be fixed.

Note that cyclictest is intended as a placeholder of a real-time task 
for people who do not have their own user-space real-time project, for 
example kernel developers and board manufacturers. Once you have your 
own real-time application, you better equip it with internal real-time 
checks in a similar way as cyclictest does it, but you should not run 
cyclictest in parallel.

Thanks,
	-Carsten.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Variscite VAR-SOM-AM33 with patch-3.12.10-rt15
  2015-10-29 18:45 ` Carsten Emde
@ 2015-10-30  8:08   ` mr. sindar
  0 siblings, 0 replies; 3+ messages in thread
From: mr. sindar @ 2015-10-30  8:08 UTC (permalink / raw
  To: Carsten Emde, linux-rt-users



29/10/15 21:45, Carsten Emde:
> Is the codesyscontrol system running at priority above 80 or below? If
> above, then at least the second result makes sense, since on a
> single-core system only the one task that runs at highest priority is
> the real-time task that enjoys the worst-case latency of the system. All
> other tasks do not. If, however, priority 80 of the cyclictest task is
> the highest priority of all tasks, then you may have detected a problem
> that needs to be fixed.
>
I executed codesyscontrol without setting any priority and scheduling 
policy. When i execute chrt -p <pid_of_codesyscontrol>, it shows:
pid 1532's current scheduling policy: SCHED_OTHER
pid 1532's current scheduling priority: 0
But now i think it wasn't true. After your advice i execute cyclitest 
with maximum priority(99), and results became deterministic.
./cyclictest -t1 -p 99 -n -i 10000 -l 10000
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 4.95 4.39 2.80 2/77 1533
T: 0 ( 1533) P:99 I:10000 C:  10000 Min:     13 Act:   20 Avg:   20 Max: 
      62

> Note that cyclictest is intended as a placeholder of a real-time task
> for people who do not have their own user-space real-time project, for
> example kernel developers and board manufacturers. Once you have your
> own real-time application, you better equip it with internal real-time
> checks in a similar way as cyclictest does it, but you should not run
> cyclictest in parallel.
>
> Thanks,
>      -Carsten.
The real goal for me, indeed, is running codesyscontrol, which is runs 
IEC 61131-3 industrial programs.
First i tried codesyscontrol run on Linux without RT-patch. It was 
sporadic multiplying of  cycle time of IEC 61131-3-program. And then i 
decide to try RT-patch. But multiplying of  cycle time in CodeSys is 
still appears, even when it runs with 99 priority. So now i think it's a 
problem in CodeSys runtime system(as i convinced with your advice, that 
RT-patch works well), i wrote this issue to their support(because we are 
buying binary package of CodeSys, i can't do with this any programming 
hacks, but only administrative).

Thank You very much for help!

-- 
Best regards, Sergey.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-10-30  8:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-29  8:38 Variscite VAR-SOM-AM33 with patch-3.12.10-rt15 mr. sindar
2015-10-29 18:45 ` Carsten Emde
2015-10-30  8:08   ` mr. sindar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.