On 17/10/18 5:17 pm, Sebastian Huber wrote: > 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 > > ? >
Yes. >> >> I do not know what this means. > > I think the wording is clear. It describes the CONFIGURE_SCHEDULER_EDF > configuration option. > I read it as ... "if I do not provide a clustered scheduler config then EDF is used for just a single processor so if I have more than one processor something else is used on that but what is the something else" .. but I am not sure. >> 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. Yes, I think this needs to be front and center somewhere. It makes sense once you understand however we should help new users coming on board with RTEMS. > > The section 24.22 is about the clustered scheduler configuration. This > configuration is also optional. > Yes and it has the default scheduler comment. >> >> 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. What about ... A clustered scheduler configuration is optional. If configured the default scheduler, up to 32 processors, is the EDF SMP Scheduler. > 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 > Would a reference be useful? :) > >> >>> 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. > OK and thanks. Chris _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel