Commit 53932182 authored by Antoine Kaufmann's avatar Antoine Kaufmann
Browse files

experiments: fixes for mtcp & tas experiments

parent 49262226
...@@ -121,7 +121,7 @@ class MtcpNode(NodeConfig): ...@@ -121,7 +121,7 @@ class MtcpNode(NodeConfig):
'mkdir -p /dev/hugepages', 'mkdir -p /dev/hugepages',
'mount -t hugetlbfs nodev /dev/hugepages', 'mount -t hugetlbfs nodev /dev/hugepages',
'mkdir -p /dev/shm', 'mkdir -p /dev/shm',
'mount -t tmpfs tmpfs /dev/shm' 'mount -t tmpfs tmpfs /dev/shm',
'echo ' + str(self.num_hugepages) + ' > /sys/devices/system/' + \ 'echo ' + str(self.num_hugepages) + ' > /sys/devices/system/' + \
'node/node0/hugepages/hugepages-2048kB/nr_hugepages', 'node/node0/hugepages/hugepages-2048kB/nr_hugepages',
] ]
...@@ -148,13 +148,15 @@ class MtcpNode(NodeConfig): ...@@ -148,13 +148,15 @@ class MtcpNode(NodeConfig):
"sndbuf = 8192\n" "sndbuf = 8192\n"
"tcp_timeout = 10\n" "tcp_timeout = 10\n"
"tcp_timewait = 0\n" "tcp_timewait = 0\n"
"stat_print = dpdk0\n")} "#stat_print = dpdk0\n")}
return {**m, **super().config_files()} return {**m, **super().config_files()}
class TASNode(NodeConfig): class TASNode(NodeConfig):
pci_dev = '0000:00:02.0' pci_dev = '0000:00:02.0'
num_hugepages = 4096 num_hugepages = 4096
fp_cores = 1
preload = True
def prepare_pre_cp(self): def prepare_pre_cp(self):
return super().prepare_pre_cp() + [ return super().prepare_pre_cp() + [
...@@ -163,22 +165,25 @@ class TASNode(NodeConfig): ...@@ -163,22 +165,25 @@ class TASNode(NodeConfig):
'mkdir -p /dev/hugepages', 'mkdir -p /dev/hugepages',
'mount -t hugetlbfs nodev /dev/hugepages', 'mount -t hugetlbfs nodev /dev/hugepages',
'mkdir -p /dev/shm', 'mkdir -p /dev/shm',
'mount -t tmpfs tmpfs /dev/shm' 'mount -t tmpfs tmpfs /dev/shm',
'echo ' + str(self.num_hugepages) + ' > /sys/devices/system/' + \ 'echo ' + str(self.num_hugepages) + ' > /sys/devices/system/' + \
'node/node0/hugepages/hugepages-2048kB/nr_hugepages', 'node/node0/hugepages/hugepages-2048kB/nr_hugepages',
] ]
def prepare_post_cp(self): def prepare_post_cp(self):
return super().prepare_post_cp() + [ cmds = super().prepare_post_cp() + [
'insmod /root/dpdk/lib/modules/5.4.46/extra/dpdk/igb_uio.ko', 'insmod /root/dpdk/lib/modules/5.4.46/extra/dpdk/igb_uio.ko',
'/root/mtcp/dpdk/usertools/dpdk-devbind.py -b igb_uio ' + '/root/dpdk/sbin/dpdk-devbind -b igb_uio ' + self.pci_dev,
self.pci_dev, 'cd /root/tas',
'insmod /root/mtcp/dpdk-iface-kmod/dpdk_iface.ko', 'tas/tas --ip-addr=%s/%d --fp-cores-max=%d --fp-no-ints &' % (
'/root/mtcp/dpdk-iface-kmod/dpdk_iface_main', self.ip, self.prefix, self.fp_cores),
'ip link set dev dpdk0 up', 'sleep 1'
'ip addr add %s/%d dev dpdk0' % (self.ip, self.prefix)
] ]
if self.preload:
cmds += ['export LD_PRELOAD=/root/tas/lib/libtas_interpose.so']
return cmds
class IperfTCPServer(AppConfig): class IperfTCPServer(AppConfig):
def run_cmds(self, node): def run_cmds(self, node):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment