libBSD and CPU Load display questions in SMP mode

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Oct 17 05:05:34 UTC 2018


On 17/10/2018 02:46, Chris Johns wrote:
> On 16/10/2018 19:34, Sebastian Huber wrote:
>> On 16/10/2018 10:28, jameszxj wrote:
>>> 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
> Why does the restriction exist?

This SMP scheduler implementation is the only one in RTEMS that supports 
thread pinning. It is the default scheduler. A clustered scheduler 
configuration is optional and should be done only for very good reasons.

>
>>> 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
>>
> Who is pinning threads?

Thread pinning

https://docs.rtems.org/branches/master/c-user/symmetric_multiprocessing_services.html#thread-pinning

is used by the Epoch Based Reclamation (EBR) implementation:

https://git.rtems.org/rtems-libbsd/tree/rtemsbsd/rtems/rtems-kernel-epoch.c

-- 
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.huber at embedded-brains.de
PGP     : Public key available on request.

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



More information about the devel mailing list