blob: dc5e94d87b2fea2bdb3732fee7278d493fc20df4 [file] [log] [blame] [edit]
/*
* Copyright 2018, Data61, CSIRO (ABN 41 687 119 230)
*
* SPDX-License-Identifier: BSD-2-Clause
*/
import <std_connector.camkes>;
import "components/Client/Client.camkes";
assembly {
composition {
component Client client1;
component Client client2;
connection seL4SharedData unused(from client1.unused, to client2.unused);
}
configuration {
client1._priority = 100;
client2._priority = 50;
/* The following parameters only have an effect on
the MCS kernel */
client1._period = 10000;
client1._budget = 7500;
client2._period = 10000;
client2._budget = 7500;
}
}
/*
Scenarios to consider:
- client 1: high prio, client 2: low prio
- client 1 period == client 2 period
- high ratio = 3/4, low ratio = 1/4
- client 1: budget/period ratio == 1, client 2: budget/period ratio == 1
- result: client 1 progress runs before client 2 progress
- client 1: high budget/period ratio, client 2: high budget/period ratio
- result: client 1 progress >> client 2 progress
- client 1: high budget/period ratio, client 2: low budget/period ratio
- result: client 1 progress >> client 2 progress
- client 1: low budget/period ratio, client 2: high budget/period ratio
- result: client 1 progress << client 2 progress
- client 1: low budget/period ratio, client 2: low budget/period ratio
- result: client 1 progress == client 2 progress
*/