libBSD and CPU Load display questions in SMP mode

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Oct 17 07:28:12 UTC 2018


On 17/10/2018 09:20, Chris Johns wrote:
> 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.

No, you are here in the description of the CONFIGURE_SCHEDULER_EDF 
configuration option. It describes what happens if you do a

#define CONFIGURE_SCHEDULER_EDF

>
>>> 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.
>

I think the "If configured" is very confusing. The EDF SMP scheduler is 
used if you don't configure anything except 
CONFIGURE_MAXIMUM_PROCESSORS. This is what most users should do.

I will try to create a documentation patch.

-- 
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