aboutsummaryrefslogtreecommitdiff
path: root/config/odp-linux-generic.conf
blob: 85d5414bad9e13bcdd4d8e7fcd2120c82bcab0fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# ODP runtime configuration options
#
# This template configuration file (odp-linux-generic.conf) is hardcoded
# during configure/build phase and the values defined here are used if
# optional ODP_CONFIG_FILE is not set. This configuration file MUST
# include all configuration options.
#
# ODP_CONFIG_FILE can be used to override default values and it doesn't
# have to include all available options. The missing options are
# replaced with hardcoded default values.
#
# The options defined here are implementation specific and valid option
# values should be checked from the implementation code.
#
# See libconfig syntax: https://hyperrealm.github.io/libconfig/libconfig_manual.html#Configuration-Files

# Mandatory fields
odp_implementation = "linux-generic"
config_file_version = "0.0.1"

# DPDK pktio options
pktio_dpdk: {
	# Default options
	num_rx_desc = 128
	num_tx_desc = 512
	rx_drop_en = 0

	# Driver specific options (use PMD names from DPDK)
	net_ixgbe: {
		rx_drop_en = 1
	}
}

# netmap pktio options
pktio_netmap: {
	# Interface specific options
	virt: {
		nr_rx_slots = 0
		nr_tx_slots = 0
	}
}

queue_basic: {
	# Maximum queue size. Value must be a power of two.
	max_queue_size = 8192

	# Default queue size. Value must be a power of two.
	default_queue_size = 4096
}

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.
	prio_spread = 4

	# Default burst sizes for high and low priority queues. The default
	# and higher priority levels are considered as high. Scheduler
	# rounds up number of requested events up to these values. In general,
	# larger requests are not round down. So, larger bursts than these may
	# received when requested. A large burst size improves throughput,
	# but decreases application responsiveness to high priority events
	# due to head of line blocking cause by a burst of low priority
	# events.
	burst_size_hi  = 32
	burst_size_low = 16
}