#
0fbf2f7d |
|
24-Jul-2019 |
Curtis Millar <curtis.millar@data61.csiro.au> |
mcs: Don't pass capacity through calls The capacity does not need to be passed as an argument to refill_check_budget as all information that it was being used for can be dertermined from the usage directly. Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>
|
#
c06a6c9a |
|
16-Jun-2019 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: add MAX_BUDGET_US We need to bound the time the user provides to configure scheduling contexts to avoid malicious or erraneous overflows of the scheduling math. Make the max period/budget 1 hour. 1 hour is sufficiently small that it will fit in a 32-bit error message. 1 week is sufficiently small for 64-bit platforms. Signed-off-by: Kent McLeod <Kent.Mcleod@data61.csiro.au>
|
#
4a6317cb |
|
01-Dec-2019 |
Curtis Millar <curtis.millar@data61.csiro.au> |
mcs: Remove redundant checkBudget The call to `checkBudget` should always return true as this function can't be called unless the current thread has sufficient time. Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>
|
#
1d419f69 |
|
12-Dec-2019 |
Curtis Millar <curtis.millar@data61.csiro.au> |
mcs: SC time relative to assigned core The starting and ready times for any SC should be relative to the core on which the SC is running rather than the current core. Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>
|
#
79da0792 |
|
01-Mar-2020 |
Gerwin Klein <gerwin.klein@data61.csiro.au> |
Convert license tags to SPDX identifiers This commit also converts our own copyright headers to directly use SPDX, but leaves all other copyright header intact, only adding the SPDX ident. As far as possible this commit also merges multiple Data61 copyright statements/headers into one for consistency.
|
#
b0bdaf9f |
|
05-Feb-2020 |
Oliver Scott <Oliver.Scott@data61.csiro.au> |
mcs-smp: tcb affinity modification bug Patch for MCS - TCB Affinity Modification Bug #138. After updating ques on the remote core the reschedule operation was never performed.
|
#
cfd8924a |
|
30-Aug-2018 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
smp: always migrateTCB on schedcontrol_configure we have no guarantees as to where the FPU context is
|
#
483f0ae2 |
|
07-Jun-2018 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: SchedControlConfigure: charge correct core Previously this code would incorrectly call chargeBudget twice, where it was intended to be charging a specific core.
|
#
a38e62f2 |
|
28-Feb-2018 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: timeout exceptions - Add seL4_TCB_SetTimeoutEndpoint - implement timeout exceptions
|
#
106b893e |
|
23-May-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: configurable scheduling context size This allows users to define custom amounts of refills without increasing the scheduling context size system wide. also add libsel4 functions for refill size
|
#
9253704d |
|
26-Apr-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: update refills based on spec This is a list of fixes that came up while working on the verification spec for the mcs changes. - trigger a timer tick if we are unable to split a refill due to the refill list being full. - make refill_ordered more useful - pull the thread out of the scheduler before updating it - simplify refill logic at verifications request - Add unused to refill_sum - Don't refill_split_check if consumed is empty - sched_control: fix double increment bug - sched-control: charge before reconfiguring ksCurSC - Charge round robin threads differently Sporadic server refill rules do not behave correctly for round robin threads, instead, change the logic. Round robin threads have 2 refills: current and next.
|
#
e04cba09 |
|
22-Nov-2016 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: update to build on SMP Before this commit SMP + MCS did not build.
|
#
554f812d |
|
08-Nov-2016 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: scheduling context donation over ipc After this commit, threads blocked on an endpoint can recieve a scheduling context from the thread that wakes the blocked thread.
|
#
34c1f920 |
|
03-Nov-2016 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: add periodic scheduling This commit adds periodic scheduling with sporadic servers.
|
#
71244499 |
|
31-Oct-2016 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: tickless scheduler implementation This changes the budget/remaining fields in scheduling contexts to contain timer ticks, not number of abstract sel4ticks. seL4_SchedControl_Configure now takes microseconds, not ticks. This commit is plat-independant - the platform and arch specific timer code follows in later commits.
|
#
952134d1 |
|
27-Oct-2016 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
mcs: Add a scheduling context object This is the first part of the seL4 MCS. This commit: * adds a scheduling context object. Threads without scheduling context objects cannot be scheduled. * replaces tcbTimeSlice with the scheduling context object * adds seL4_SchedControl caps for each core * adds seL4_SchedControl_Configure which allows users to configure amount of ticks a scheduling context has, and set a core for the scheduling context. * adds seL4_SchedContext_Bind, Unbind and UnbindObject, which allows a tcb to be bound to a scheduling context.
|