Opened on 06/15/16 at 08:07:06
Last modified on 01/23/17 at 16:26:08
#2738 assigned defect
POSIX sporadic server uses unexpected CPU budgets
Reported by: | Sebastian Huber | Owned by: | Needs Funding |
---|---|---|---|
Priority: | low | Milestone: | Indefinite |
Component: | score | Version: | 4.10 |
Severity: | normal | Keywords: | |
Cc: | Blocked By: | ||
Blocking: |
Description
The POSIX sporadic server starts with invalid CPU budget of zero. This leads to an unsigned integer underflow in the next scheduler tick. The first _POSIX_Threads_Sporadic_budget_TSR() fixes the problem.
Change History (6)
comment:1 Changed on 06/15/16 at 08:45:58 by Sebastian Huber <sebastian.huber@…>
comment:2 Changed on 06/15/16 at 08:49:00 by Sebastian Huber
Summary: | POSIX sporadic server starts with invalid CPU budget → POSIX sporadic server uses unexpected CPU budgets |
---|
*** BEGIN OF TEST PSX 12 *** Init's ID is 0x0b010001 Init: pthread_attr_init - SUCCESSFUL Init: pthread_create - EINVAL (invalid scheduling policy) Init: pthread_attr_init - SUCCESSFUL Init: set scheduling parameter attributes for sporadic server Init: pthread_create - EINVAL (replenish < budget) Init: pthread_create - EINVAL (invalid sched_ss_low_priority) Init: pthread_create - SUCCESSFUL Sporadic Server: exitting [0] H 100ms [0] L 200ms [1] H 290ms [1] L 400ms [2] H 490ms [2] L 600ms *** END OF TEST PSX 12 ***
From the test output we see, that the initial high period differs from the later high periods. The later high periods lack one clock tick of time.
comment:3 Changed on 06/15/16 at 09:21:56 by Sebastian Huber <sebastian.huber@…>
comment:4 Changed on 12/23/16 at 14:10:53 by Sebastian Huber
Priority: | normal → low |
---|
comment:5 Changed on 01/23/17 at 13:32:11 by Sebastian Huber
Milestone: | 4.12 → Indefinite |
---|---|
Owner: | changed from Sebastian Huber to Needs Funding |
Status: | new → assigned |
comment:6 Changed on 01/23/17 at 16:26:08 by Joel Sherrill
I am not wanting to change the status on this. Just wondered from looking at the output if the math isn't adding one tick in the conversion from time to ticks or vice-versa. We had an off by one in that time of math a while back somewhere else I recall.
Note: See
TracTickets for help on using
tickets.
In 917884c408708c7634e09563d7cd3ed30a4ab71a/rtems: