-
Notifications
You must be signed in to change notification settings - Fork 23
/
conf_example.toml
77 lines (71 loc) · 2.92 KB
/
conf_example.toml
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
70
71
72
73
74
75
76
77
[dpfs]
# Must be a power of 2 and >= 1! The virtio-fs specification requires this
# This value is used in the SNAP HAL implementation, the Gateway HAL implementation
# and the DPU Gateway client implementation.
queue_depth = 512
[snap_hal]
# Time between every poll
polling_interval_usec = 0
# Physical Function IDs
# When multiple PFs are supplied, multiple virtio-fs devices will be created
# The index of this array is the device_id supplied by the HAL to the backend
pf_ids = [ 0 ]
# These PFs will be created and checked for (management) I/O only once a second so
# that the host driver will be able to init the devices. These devices can
# be mounted, but will perform horribly bad (1 IOPS).
# The PFs in `pf_ids` and `mock_pf_ids` should not overlap!
# This is usefull for PF (perf) testing without having to reboot the DPU for firmware
# config changes all the time.
mock_pf_ids = [ ]
# Emulation manager, DPU specific
emu_manager = "mlx5_0"
# Filesystem tag (i.e. the name of the virtiofs device to mount for the host)
# The PF ID will be prepended to this tag e.g. "dpfs-0"
tag = "dpfs"
# int = n threads that each own pf_ids/int devices
nthreads = 1
# The number of Virtio requests, currently the driver and DPFS only support a single queue
#virtio_request_queues = 1
[rvfs_hal]
# Time between every poll
polling_interval_usec = 0
[nfs]
# The NFS server that you want to mirror
server = "10.100.0.1"
# The NFS server's path that you want to mirror
export = "/mnt/shared"
# Enables userspace busy polling on the completion queue
# This causes high CPU usage!
# Note that when using XLIO (TCP offloading), and the run script in the dpfs_nfs folder,
# then it already does busy polling.
cq_polling = false
# This is for dpfs_rvfs_dpu and the dpfs_hal implementation that uses RVFS
[rvfs]
remote_uri = "10.100.0.1:31850"
dpu_uri = "10.100.0.115:31850"
# If enabled then rvfs_dpu will do RVFS and hal polling on two seperate threads
# TODO make this work for the RVFS version of hal as well?
two_threads = true
# Used for the eRPC stuff
nic_numa_node = 0
[kv]
# The remote RAMCloud server that KV will connect to
ramcloud_coordinator = "PLACEHOLDER"
[local_mirror]
dir = "/mnt/nfs_flex01"
# If 0, then metadata cache is fully disabled
# Value is in seconds, integers and doubles are accepted
metadata_timeout = 86400.0 # 24 hours
# See dpfs_uring/fuser.h:enum fuser_directio_mode
# Default = always do direct I/O, no data caching on the DPU
directio_mode = 2
# Enables userspace busy polling on the completion queue
# This causes high CPU usage!
uring_cq_polling = false
# dpfs_uring creates a ring per DPFS thread (as io_uring rings should not be shared
# across threads)
# If `uring_cq_polling` is disabled, this value will be ignored and the number of
# rings will be used to determine the number of cq threads (which will block)
# If `uring_cq_polling` is enabled, this value will determine how many threads will
# be used to poll on the rings
uring_cq_polling_nthreads = 1