Skip to content

Commit bbfe5c6

Browse files
authored
Merge pull request #54 from zoybai/sweep_delay
Add sweep delay script to test CAS latency
2 parents 4f5841c + 0143611 commit bbfe5c6

File tree

2 files changed

+187
-0
lines changed

2 files changed

+187
-0
lines changed
Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
# Copyright (c) 2018, ARM Limited. All rights reserved.
2+
#
3+
# SPDX-License-Identifier: BSD-3-Clause
4+
#
5+
# Redistribution and use in source and binary forms, with or without
6+
# modification, are permitted provided that the following conditions are met:
7+
#
8+
# Redistributions of source code must retain the above copyright notice, this
9+
# list of conditions and the following disclaimer.
10+
#
11+
# Redistributions in binary form must reproduce the above copyright notice, this
12+
# list of conditions and the following disclaimer in the documentation and/or
13+
# other materials provided with the distribution.
14+
#
15+
# Neither the name of ARM Limited nor the names of its contributors may be used
16+
# to endorse or promote products derived from this software without specific
17+
# prior written permission.
18+
#
19+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22+
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23+
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24+
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26+
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
27+
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28+
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29+
#
30+
# The views and conclusions contained in the software and documentation are those
31+
# of the authors and should not be interpreted as representing official policies,
32+
# either expressed or implied, of this project.
33+
34+
35+
## Global Settings
36+
globalcfg:
37+
execdir: ../build
38+
logfile: lockhammer.csv
39+
40+
41+
## Sweep Test Settings
42+
#
43+
# Common assumptions for sweep delay test:
44+
# The system should be able to handle CAS workload at any delay.
45+
# Using eBPF, we find that Nginx lockref inter-arrival delay is less than 32us,
46+
# and lockref_get to lockref_put_return delay is less than 2us. Therefore we
47+
# create this script to sweep <32us delay using -p parameter and keep -c
48+
# parameter at 1us because eBPF intrinsic overhead is about 1us. We also find
49+
# the ratio between -c and -p is relatively fixed, e.g. 1:8 ~ 1:16. We choose
50+
# 1:9 for the last case (-c=3000ns, -p=28000ns).
51+
#
52+
##
53+
sweeptest:
54+
enabled: True
55+
safemode: True
56+
cmd:
57+
- lh_cas_lockref
58+
cmd_aarch64:
59+
cmd_x86_64:
60+
repeat: 9
61+
sweepargu: t
62+
argumax: 0
63+
skipsince: 48
64+
skipstep: 8
65+
argulist:
66+
- a: 5000
67+
c: 0ns
68+
p: 0ns
69+
o: lstopo
70+
- a: 5000
71+
c: 200ns
72+
p: 0ns
73+
o: lstopo
74+
- a: 5000
75+
c: 1000ns
76+
p: 0ns
77+
o: lstopo
78+
- a: 5000
79+
c: 200ns
80+
p: 1000ns
81+
o: lstopo
82+
- a: 5000
83+
c: 1000ns
84+
p: 1000ns
85+
o: lstopo
86+
- a: 5000
87+
c: 1000ns
88+
p: 2000ns
89+
o: lstopo
90+
- a: 5000
91+
c: 1000ns
92+
p: 3000ns
93+
o: lstopo
94+
- a: 5000
95+
c: 1000ns
96+
p: 4000ns
97+
o: lstopo
98+
- a: 5000
99+
c: 1000ns
100+
p: 5000ns
101+
o: lstopo
102+
- a: 5000
103+
c: 1000ns
104+
p: 6000ns
105+
o: lstopo
106+
- a: 5000
107+
c: 1000ns
108+
p: 7000ns
109+
o: lstopo
110+
- a: 5000
111+
c: 1000ns
112+
p: 8000ns
113+
o: lstopo
114+
- a: 5000
115+
c: 1000ns
116+
p: 9000ns
117+
o: lstopo
118+
- a: 5000
119+
c: 1000ns
120+
p: 10000ns
121+
o: lstopo
122+
- a: 5000
123+
c: 1000ns
124+
p: 11000ns
125+
o: lstopo
126+
- a: 5000
127+
c: 1000ns
128+
p: 12000ns
129+
o: lstopo
130+
- a: 5000
131+
c: 1000ns
132+
p: 13000ns
133+
o: lstopo
134+
- a: 5000
135+
c: 1000ns
136+
p: 14000ns
137+
o: lstopo
138+
- a: 5000
139+
c: 1000ns
140+
p: 15000ns
141+
o: lstopo
142+
- a: 5000
143+
c: 1000ns
144+
p: 16000ns
145+
o: lstopo
146+
- a: 5000
147+
c: 2000ns
148+
p: 20000ns
149+
o: lstopo
150+
- a: 5000
151+
c: 2000ns
152+
p: 24000ns
153+
o: lstopo
154+
- a: 5000
155+
c: 3000ns
156+
p: 28000ns
157+
o: lstopo
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/bin/bash
2+
3+
# Copyright (c) 2017, The Linux Foundation. All rights reserved.
4+
#
5+
# Redistribution and use in source and binary forms, with or without
6+
# modification, are permitted provided that the following conditions are
7+
# met:
8+
# * Redistributions of source code must retain the above copyright
9+
# notice, this list of conditions and the following disclaimer.
10+
# * Redistributions in binary form must reproduce the above
11+
# copyright notice, this list of conditions and the following
12+
# disclaimer in the documentation and/or other materials provided
13+
# with the distribution.
14+
# * Neither the name of The Linux Foundation nor the names of its
15+
# contributors may be used to endorse or promote products derived
16+
# from this software without specific prior written permission.
17+
#
18+
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
19+
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
21+
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
22+
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
25+
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26+
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
27+
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
28+
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29+
30+
nohup sudo ./test_lockhammer.py lh_sweepdelay_cfg.yaml &

0 commit comments

Comments
 (0)