aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorPetri Savolainen <petri.savolainen@linaro.org>2018-10-24 15:20:21 +0300
committerMaxim Uvarov <maxim.uvarov@linaro.org>2018-10-29 13:54:17 +0300
commit52d54fae53f5e65f232cb21b116e51ea36b4eb0b (patch)
tree7f3d7aaf8d1ce24b00bc83d067c61a58435b7f42 /config
parenteab91f7101cdf47c59b14b5a511a82c701e66ff4 (diff)
linux-gen: sched: add spread weight config file option
Add new config file option to control scheduler internal queue preference ratio. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'config')
-rw-r--r--config/odp-linux-generic.conf26
1 files changed, 20 insertions, 6 deletions
diff --git a/config/odp-linux-generic.conf b/config/odp-linux-generic.conf
index af651d7f6..2417d23f2 100644
--- a/config/odp-linux-generic.conf
+++ b/config/odp-linux-generic.conf
@@ -16,7 +16,7 @@
# Mandatory fields
odp_implementation = "linux-generic"
-config_file_version = "0.1.1"
+config_file_version = "0.1.2"
# Shared memory options
shm: {
@@ -80,13 +80,27 @@ queue_basic: {
}
sched_basic: {
- # Priority level spread. Each priority level is spread into multiple
- # scheduler internal queues. A higher spread value typically improves
- # parallelism and thus is better for high thread counts, but causes
- # uneven service level for low thread counts. Typically, optimal
- # value is the number of threads using the scheduler.
+ # Priority level spread
+ #
+ # Each priority level is spread into multiple scheduler internal queues.
+ # This value defines the number of those queues. Minimum value is 1.
+ # Each thread prefers one of the queues over other queues. A higher
+ # spread value typically improves parallelism and thus is better for
+ # high thread counts, but causes uneven service level for low thread
+ # counts. Typically, optimal value is the number of threads using
+ # the scheduler.
prio_spread = 4
+ # Weight of the preferred scheduler internal queue
+ #
+ # Each thread prefers one of the internal queues over other queues.
+ # This value controls how many times the preferred queue is polled
+ # between a poll to another internal queue. Minimum value is 1. A higher
+ # value typically improves parallelism as threads work mostly on their
+ # preferred queues, but causes uneven service level for low thread
+ # counts as non-preferred queues are served less often
+ prio_spread_weight = 63
+
# Burst size configuration per priority. The first array element
# represents the highest queue priority. The scheduler tries to get
# burst_size_default[prio] events from a queue and stashes those that