Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
tp-qemu
提交
ef38624b
T
tp-qemu
项目概览
openeuler
/
tp-qemu
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
tp-qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ef38624b
编写于
3月 18, 2016
作者:
M
Maosheng Zhang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tp-qemu: fix netperf.py support powerkvm
ID: 1315548 1315167 Signed-off-by:
N
Maosheng Zhang
<
mazhang@redhat.com
>
上级
27c13bd9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
34 addition
and
16 deletion
+34
-16
generic/tests/netperf.py
generic/tests/netperf.py
+34
-16
未找到文件。
generic/tests/netperf.py
浏览文件 @
ef38624b
...
...
@@ -13,6 +13,7 @@ from virttest import utils_misc
from
virttest
import
utils_net
from
virttest
import
remote
from
virttest
import
data_dir
from
virttest
import
arch
_netserver_started
=
False
...
...
@@ -298,7 +299,12 @@ def start_test(server, server_ctl, host, clients, resultsdir, l=60,
record_list
=
[
'size'
,
'sessions'
,
'throughput'
,
'trans.rate'
,
'CPU'
,
'thr_per_CPU'
,
'rx_pkts'
,
'tx_pkts'
,
'rx_byts'
,
'tx_byts'
,
're_pkts'
,
'irq_inj'
,
'io_exit'
,
'rpkt_per_irq'
,
'tpkt_per_exit'
]
're_pkts'
,
'rpkt_per_irq'
,
'tpkt_per_exit'
]
if
arch
.
ARCH
in
(
'ppc64'
,
'ppc64le'
):
record_list
.
append
(
'exits'
)
else
:
record_list
.
extend
([
'irq_injs'
,
'io_exits'
])
for
i
in
range
(
int
(
params
.
get
(
"queues"
,
0
))):
record_list
.
append
(
'rx_intr_%s'
%
i
)
record_list
.
append
(
'rx_intr_sum'
)
...
...
@@ -347,12 +353,18 @@ def start_test(server, server_ctl, host, clients, resultsdir, l=60,
thu
=
float
(
ret
[
'thu'
])
cpu
=
100
-
float
(
ret
[
'mpstat'
].
split
()[
mpstat_index
])
normal
=
thu
/
cpu
if
ret
.
get
(
'rx_pkts'
)
and
ret
.
get
(
'irq_inj'
):
ret
[
'rpkt_per_irq'
]
=
float
(
ret
[
'rx_pkts'
])
/
float
(
ret
[
'irq_inj'
])
if
ret
.
get
(
'tx_pkts'
)
and
ret
.
get
(
'io_exit'
):
ret
[
'tpkt_per_exit'
]
=
float
(
ret
[
'tx_pkts'
])
/
float
(
ret
[
'io_exit'
])
if
arch
.
ARCH
in
(
'ppc64'
,
'ppc64le'
):
if
ret
.
get
(
'tx_pkts'
)
and
ret
.
get
(
'exits'
):
ret
[
'tpkt_per_exits'
]
=
float
(
ret
[
'tx_pkts'
])
/
float
(
ret
[
'exits'
])
else
:
if
ret
.
get
(
'rx_pkts'
)
and
ret
.
get
(
'irq_injs'
):
ret
[
'rpkt_per_irq'
]
=
float
(
ret
[
'rx_pkts'
])
/
float
(
ret
[
'irq_injs'
])
if
ret
.
get
(
'tx_pkts'
)
and
ret
.
get
(
'io_exits'
):
ret
[
'tpkt_per_exit'
]
=
float
(
ret
[
'tx_pkts'
])
/
float
(
ret
[
'io_exits'
])
ret
[
'size'
]
=
int
(
i
)
ret
[
'sessions'
]
=
int
(
j
)
if
protocol
in
(
"TCP_RR"
,
"TCP_CRR"
):
...
...
@@ -521,21 +533,27 @@ def launch_client(sessions, server, server_ctl, host, clients, l, nf_args,
state_list
.
append
(
'intr'
)
state_list
.
append
(
ninit
)
io_exit
=
int
(
ssh_cmd
(
host
,
"cat /sys/kernel/debug/kvm/io_exits"
))
irq_inj
=
int
(
ssh_cmd
(
host
,
"cat /sys/kernel/debug/kvm/irq_injections"
))
state_list
.
append
(
'io_exit'
)
state_list
.
append
(
io_exit
)
state_list
.
append
(
'irq_inj'
)
state_list
.
append
(
irq_inj
)
if
arch
.
ARCH
in
(
'ppc64'
,
'ppc64le'
):
exits
=
int
(
ssh_cmd
(
host
,
"cat /sys/kernel/debug/kvm/exits"
))
state_list
.
append
(
'exits'
)
state_list
.
append
(
exits
)
else
:
io_exits
=
int
(
ssh_cmd
(
host
,
"cat /sys/kernel/debug/kvm/io_exits"
))
irq_injs
=
int
(
ssh_cmd
(
host
,
"cat /sys/kernel/debug/kvm/irq_injections"
))
state_list
.
append
(
'io_exits'
)
state_list
.
append
(
io_exits
)
state_list
.
append
(
'irq_injs'
)
state_list
.
append
(
irq_injs
)
return
state_list
def
netperf_thread
(
i
,
numa_enable
,
client_s
,
timeout
):
cmd
=
""
fname
=
"/tmp/netperf.%s.nf"
%
pid
if
numa_enable
:
output
=
ssh_cmd
(
client_s
,
"numactl --
hardware
"
)
n
=
int
(
re
.
findall
(
r
"available: (\d+) nodes"
,
output
)[
0
])
-
1
output
=
ssh_cmd
(
client_s
,
"numactl --
show|grep nodebind
"
)
n
=
int
(
output
.
split
()[
-
1
])
cmd
+=
"numactl --cpunodebind=%s --membind=%s "
%
(
n
,
n
)
cmd
+=
"/tmp/netperf_agent.py %d %s -D 1 -H %s -l %s %s"
%
(
i
,
client_path
,
server
,
int
(
l
)
*
1.5
,
nf_args
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录