On 17/10/2018 07:59, Chris Johns wrote:
On 17/10/18 4:05 pm, Sebastian Huber wrote:
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.
The documentation says:
In case no explicit clustered scheduler configuration is present, then it
is used as the scheduler for exactly one processor.
You mean
https://docs.rtems.org/branches/master/c-user/configuring_a_system.html#configure-scheduler-edf
?
I do not know what this means.
I think the wording is clear. It describes the CONFIGURE_SCHEDULER_EDF
configuration option.
I see the default is mentioned just after this. I
wonder if a section about the defaults in either 24.21 and/or 24.22?
The section 24.21 is about the general scheduler configuration. This
configuration is optional. Maybe we should clarify this in the section
entry.
The section 24.22 is about the clustered scheduler configuration. This
configuration is also optional.
The clustered scheduling section has:
A clustered scheduler configuration is optional. By default, up to 32
processors are managed by the EDF SMP Scheduler.
It is not clear if the default is 32 processors, the scheduler or both.
By default means if you didn't configure anything. In this case up to 32
processors are managed by the EDF SMP Scheduler. The configured maximum
processors is defined by
https://docs.rtems.org/branches/master/c-user/configuring_a_system.html#configure-maximum-processors
A clustered scheduler configuration is
optional and should be done only for very good reasons.
Sure.
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
OK. Does FreeBSD pin threads as well?
Yes, this is why we have this stuff as well.
--
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.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel