-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmsg_pophype4node.sh
More file actions
executable file
·107 lines (88 loc) · 2.54 KB
/
msg_pophype4node.sh
File metadata and controls
executable file
·107 lines (88 loc) · 2.54 KB
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#! /bin/bash
#
# msg_het.sh
# Copyright (C) 2018 jackchuang <jackchuang@echo5>
#
# Distributed under terms of the MIT license.
#
scripts_location="/home/jackchuang/share/kernel_scripts"
kernel_location="/home/jackchuang/fragvisor-linux"
#LINUX_FOLDER=~/popcorn-kernel
LINUX_FOLDER=~/fragvisor-linux
TARGET_MODULE=msg_rdma.ko
#TARGET_MODULE=msg_socket.ko
TARGET_TEST_MODULE=msg_test.ko
ANOTHER_FOX_NODE=xxx
NODES="echo5 echo4 echo0 echo1" # 5 4 0 1
echo $TARGET_MODULE
echo $TARGET_MODULE
echo $TARGET_MODULE
for node in $NODES
do
ssh $node "bash -c \"sudo mount -a\""
ssh $node "sync"
ssh $node "cp $scripts_location/config_pophype4node.h $kernel_location/msg_layer/config.h"
echo "sync $node"; echo;
done
# 1: testing module
#ssh $ANOTHER_FOX_NODE "sudo bash -c \"dmesg -n 7\"" # turn on the log on serial port
#make clean -C $LINUX_FOLDER/msg_layer/
#make -C $LINUX_FOLDER/msg_layer/
#sudo insmod $LINUX_FOLDER/msg_layer/$TARGET_MODULE &
#
#
#ssh $ANOTHER_FOX_NODE make clean -C $LINUX_FOLDER/msg_layer/
#ssh $ANOTHER_FOX_NODE make -C $LINUX_FOLDER/msg_layer/
#ssh $ANOTHER_FOX_NODE "bash -c \"sudo insmod $LINUX_FOLDER/msg_layer/$TARGET_MODULE\""
for node in $NODES
do
echo " [$node]: msg cleaning..."
ssh $node make clean -C $LINUX_FOLDER/msg_layer/ > /dev/null
echo " [$node]: msg making..."
ssh $node make -C $LINUX_FOLDER/msg_layer/ > /dev/null
done
for node in $NODES
do
echo "rmmod $TARGET_MODULE on ${node}..."
#ssh $node cd ~/linux/msg_layer && git pull
ssh $node sudo rmmod $LINUX_FOLDER/msg_layer/$TARGET_MODULE 2> /dev/null
echo "insmod $TARGET_MODULE on ${node}..."
ssh $node "sudo insmod $LINUX_FOLDER/msg_layer/$TARGET_MODULE" &
#ssh $node "bash -c \"sudo insmod $LINUX_FOLDER/msg_layer/$TARGET_MODULE&\""
#ssh $node sudo echo 0 > /proc/sys/kernel/hung_task_timeout_secs
echo;echo;echo;
sleep 1
done
if [[ $1 == "1" ]]; then
echo "reinstalling $TARGET_TEST_MODULE on ${node}..."
ssh $node "bash -c \"sudo rmmod $LINUX_FOLDER/msg_layer/$TARGET_TEST_MODULE\""
ssh $nodeE "bash -c \"sudo insmod $LINUX_FOLDER/msg_layer/$TARGET_TEST_MODULE\""
if [[ $? != 0 ]]; then
echo "insmod msg_test.ko WRONG!!!"
exit -1
fi
echo;
fi
#
for node in $NODES
do
ssh $node "sudo bash -c \"dmesg -n 7\"" # turn on the log on serial port
echo "dmesg - n 7 on $node";
done
#
for node in $NODES
do
ssh $node "bash -c \"sudo mount -a\""
ssh $node "sync"
echo "sync $node"; echo;
done
#
for node in $NODES
do
echo "[$node]: show info"
#ssh $node "dmesg |grep -i popcorn"
ssh $node "dmesg |grep popcorn"
echo;echo;
done
cd c_tong
exec bash