[PATCH 2/3] score: Add CONFIGURE_INIT_TASK_STORAGE_SIZE

Sebastian Huber sebastian.huber at embedded-brains.de
Tue Nov 24 11:45:04 UTC 2020


On 24/11/2020 12:40, Chris Johns wrote:

> On 24/11/20 6:35 pm, Sebastian Huber wrote:
>> On 23/11/2020 21:23, Chris Johns wrote:
>>
>>> On 23/11/20 7:46 pm, Sebastian Huber wrote:
>>>> On 22/11/2020 23:22, Chris Johns wrote:
>>>>> On 20/11/20 7:31 pm, Sebastian Huber wrote:
>>>>>> In order to better support applications which use the new
>>>>>> rtems_task_construct() directive add the
>>>>>> CONFIGURE_INIT_TASK_STORAGE_SIZE configuration option.  If this option
>>>>>> is specified, then the Classic API initialization task is constructed
>>>>>> with rtems_task_construct().
>>>>> The name CONFIGURE_INIT_TASK_STORAGE_SIZE does not reflect the role described
>>>>> here and is a little ambiguous unless you know the implementation detail.
>>>>>
>>>>> CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE ?
>>>> I am not sure. The storage size is a property of the task. How this property is
>>>> achieved is a detail and may change.
>>> Is it a property of a specific instance (Init) of a specific type (construct) of
>>> task?
>>>
>>> You have stated:
>>>
>>>    "If this option is specified, then the Classic API initialization task
>>>     is constructed with rtems_task_construct()."
>>>
>>> This is how I am reading this sentence. Sure in time the task may not be
>>> constructed and that may change but the effect needs to be a "constructed" task
>>> or you would need another variables.
>>>
>>> The key issue is the config option triggers a change in the type of Init task
>>> and we should be as clear about that as we can.
>> I changed the documentation of CONFIGURE_INIT_TASK_STORAGE_SIZE to not mention
>> rtems_task_construct(). This is just an implementation detail.
> Does this mean all Init tasks will be statically constructed tasks?

No, if you specify CONFIGURE_INIT_TASK_STACK_SIZE (this is also the 
default), then rtems_task_create() is used. If you specify 
CONFIGURE_INIT_TASK_STORAGE_SIZE, then rtems_task_construct() is used.

For a user it should be no concern how the system creates the Classic 
API initialization task. What matters is that the task has the 
configured properties.

-- 
embedded brains GmbH
Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
Phone: +49-89-18 94 741 - 16
Fax:   +49-89-18 94 741 - 08
PGP: Public key available on request.

embedded brains GmbH
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/



More information about the devel mailing list