thanks, 
1.I read the c-use doc, but still confused about EDF SCHEDULER.
The doc said "All SMP schedulers included in RTEMS are priority based. "
Is that mean High priority task always piror low priority task just like 
Priority SMP Scheduler.
But some doc from internet said EDF scheduler has a dynamic priority.


My system wants High priority task always piror low priority task, low priority 
task can be delay or interrupt.
Does it means that we can not use EDF scheduler?


2.I create a patch about top usage to make the display messages look 
reasonable, if someone have time to review it?
I notice that the top usage display 2 priority,RPRI and CPRI, they are the same 
value , what's the diffrence?


On 16/10/2018 10:28, jameszxj wrote:
> Hi,
>    ask questions again,(◡‿◡)
>
> Board infomation:
> ----------------------------------------------------------------------------------------
> CPU:zynq z7020  RTEMS version: master version
> SMP define:
> #define CONFIGURE_MAXIMUM_PROCESSORS        2
>
> #if 1
> #define CONFIGURE_MAXIMUM_PRIORITY 255
>
> #define CONFIGURE_SCHEDULER_PRIORITY_SMP

The only SMP scheduler supported by libbsd is:

#define CONFIGURE_SCHEDULER_EDF_SMP

>
> #include <rtems/scheduler.h>
> RTEMS_SCHEDULER_PRIORITY_SMP(a, CONFIGURE_MAXIMUM_PRIORITY + 1);
> RTEMS_SCHEDULER_PRIORITY_SMP(b, CONFIGURE_MAXIMUM_PRIORITY + 1);
> #define SCHED_A rtems_build_name(' ', ' ', ' ', 'A')
> #define SCHED_B rtems_build_name(' ', ' ', ' ', 'B')
> #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \
> RTEMS_SCHEDULER_TABLE_PRIORITY_SMP(a, SCHED_A), \
> RTEMS_SCHEDULER_TABLE_PRIORITY_SMP(b, SCHED_B)
>
> #define CONFIGURE_SCHEDULER_ASSIGNMENTS \
>   RTEMS_SCHEDULER_ASSIGN(0, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_MANDATORY), \
>   RTEMS_SCHEDULER_ASSIGN(1, RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL)
> #endif
> ----------------------------------------------------------------------------------------
>    I am switching from AMP mode to SMP mode, and found 2 problems.
> 1. top command display message, Load is 100%, and Idle is almost 100% too.
> Is it right? In fact,CPU is doing nothing.
>
> Tasks:   25  Load Average:  100.510%  Load:  100.966% Idle:   99.033%
> Mem:  457M free  50M used 516K stack
>
>  ID         | NAME                | RPRI | CPRI   | TIME             | 
> TOTAL   | CURRENT
> ------------+---------------------+---------------+---------------------+---------+--^^----
>  0x09010002 | IDLE                |  510 |  510   | 4m9.328460        
>   |  50.073 | 100.000
>  0x09010001 | IDLE                |  510 |  510   | 4m7.319959        
>   |  49.670 |  99.033
>  0x0a010002 | WDOG                |    6 |    6   | 0.003674          
>   |   0.000 |   0.001
>
> 2.when I connect to RTEMS with ftp or telnet, system reset.
> If just only define CONFIGURE_MAXIMUM_PROCESSORS,ftp and telnet is ok.
>
> *** FATAL ***
> fatal source: 10 (RTEMS_FATAL_SOURCE_SMP)
> fatal code: 7 (0x00000007)

This is:

SMP_FATAL_SCHEDULER_PIN_OR_UNPIN_NOT_SUPPORTED

> RTEMS version: 5.0.0
> RTEMS tools: 7.3.0 20180125 (RTEMS 5, RSB 
> d2d46786f113ed39d29deafa3feeb4d42ae94001, Newlib 
> d13c84eb07e35984bf7a974cd786a6cdac29e6b9)
> executing thread ID: 0x08a010006
> executing thread name: IRQS

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

Attachment: cpuusagetop.patch
Description: Binary data

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to