PCR 10177 - Support dynamic thread templates
Summary: Support dynamic thread templates
Status: NEW
Alias: None
Product: Kernel
Classification: Deos
Component: Kernel (show other PCRs)
Version: multi-core
Hardware: All Deos
: Hold
: Enhancement
Target Milestone: mainline
Assignee: .Kernel
URL:
Whiteboard:
Depends on:
Blocks: 10179
  Show dependency treegraph
 
Reported: 2015-11-04 14:27 MST by Richard Frost
Modified: 2023-08-18 08:45 MST (History)
0 users

See Also:
Impact Assessment: ---
Organization: ---
rfrost: Requirements?
rfrost: Code?
rfrost: TestCases?
rfrost: TestProcedures?
rfrost: Other?


Attachments

Note You need to log in before you can comment on or make changes to this PCR.
Description Richard Frost 2015-11-04 14:27:00 MST
POSIX pthreads and ARINC653 require support for creating threads/653 processes which do not have a static template, but fields are specified via the APIs at run-time. In addition, there is a customer desire to support dynamic thread templates for client server threads in RMA, where a field such as the scheduler name is desired to match the requesters.

Deos will not initially support using a user specified address as the stack address. For the FACE safety base profile, the thread creation attributes which must be supported are stack size and base priority. In the future for the safety extended profile, FIFO vs round robin scheduling policy, the size of the stack VAS gap, and support for pthread detached state will be needed.

The ARINC653 PROCESS_ATTRIBUTE_TYPE defines the attributes used when creating a 653 process. Stack size and base priority must be supported. The 653 library may depend on other kernel features for clocks/timers to support periods and deadlines, but they should not be needed at the thread template/attributes level.

The kernel will require the scheduler name to be part of the attributes. The 653/POSIX tooling must enable the libraries to construct the appropriate scheduler name based on other attributes such as affinity. In order to support RMA threads budget and slackEnabled could be supported, but mutex and ISR thread support may be limited to registry templates and createThread.

Proposal:
Create ThreadAttributes_t struct 
Add createThreadEx API similar to createThread where const char *templateName is replaced by const ThreadAttributes_t *threadAttributes. 
ThreadAttributes_t should use the forward compatible protocol to allow compatibility when extended.
Comment 1 deosbugs.ccb 2015-11-05 13:02:09 MST
CCB 2 visited this PCR on 2015-11-05.
Comment 2 deosbugs.ccb 2015-11-12 13:01:30 MST
CCB visited this PCR on 2015-11-12.
Comment 3 deosbugs.ccb 2015-11-25 16:14:07 MST
CCB visited this PCR on 2015-11-25
Comment 4 deosbugs.ccb 2016-06-16 13:18:54 MST
CCB visited this PCR on 2016-06-16
Comment 5 deosbugs.ccb 2016-07-21 15:03:05 MST
CCB visited this PCR on 2016-07-21
Comment 6 deosbugs.ccb 2016-08-03 09:06:13 MST
CCB visited this PCR on 2016-08-03
Comment 7 deosbugs.ccb 2016-08-12 14:29:41 MST
CCB visited this PCR on 2016-08-12
Comment 8 deosbugs.ccb 2016-10-25 14:12:58 MST
CCB visited this PCR on 2016-10-25-72422
Comment 9 deosbugs.ccb 2016-11-07 12:40:34 MST
CCB visited this PCR on 2016-11-02-66379
Comment 10 deosbugs.ccb 2016-11-07 13:37:12 MST
Previous tag had a typo. 11-02 should have been 11-07. Proper message is:
CCB visited this PCR on 2016-11-07-66379
Comment 11 deosbugs.ccb 2017-01-25 18:40:59 MST
CCB visited this PCR on 2017-01-26-4685
Comment 12 deosbugs.ccb 2017-02-01 09:35:40 MST
CCB visited this PCR on 2017-02-01-59501
Comment 13 deosbugs.ccb 2017-10-04 07:59:01 MST
CCB visited this PCR on 2017-10-04-51549
Comment 14 deosbugs.ccb 2017-12-11 11:31:17 MST
CCB visited this PCR on 2017-12-11-66402
Comment 15 deosbugs.ccb 2018-01-19 14:07:44 MST
CCB visited this PCR on 2018-01-19-75679
Comment 16 deosbugs.ccb 2021-03-26 09:33:18 MST
CCB visited this PCR on 2021-03-26-57787
Comment 17 deosbugs.ccb 2021-04-05 09:50:52 MST
CCB visited this PCR on 2021-04-05-59141
Comment 18 deosbugs.ccb 2023-08-14 11:04:20 MST
CCB visited this PCR on 2023-08-14-64795
Comment 19 deosbugs.ccb 2023-08-18 08:45:20 MST
PCR to remain on HOLD for kismet given time constraints.