Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
272570df
L
libvirt
项目概览
openeuler
/
libvirt
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libvirt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
272570df
编写于
8月 21, 2012
作者:
H
Hu Tao
提交者:
Daniel Veillard
8月 22, 2012
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add a new function vshPrintPinInfo.
This is a helper function to print vcpu pin info.
上级
ca5c99ae
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
42 addition
and
23 deletion
+42
-23
tools/virsh-domain.c
tools/virsh-domain.c
+42
-23
未找到文件。
tools/virsh-domain.c
浏览文件 @
272570df
...
...
@@ -4577,6 +4577,45 @@ static const vshCmdOptDef opts_vcpupin[] = {
{
NULL
,
0
,
0
,
NULL
}
};
/*
* Helper function to print vcpupin info.
*/
static
bool
vshPrintPinInfo
(
unsigned
char
*
cpumaps
,
size_t
cpumaplen
,
int
maxcpu
,
int
vcpuindex
)
{
int
cpu
,
lastcpu
;
bool
bit
,
lastbit
,
isInvert
;
if
(
!
cpumaps
||
cpumaplen
<=
0
||
maxcpu
<=
0
||
vcpuindex
<
0
)
{
return
false
;
}
bit
=
lastbit
=
isInvert
=
false
;
lastcpu
=
-
1
;
for
(
cpu
=
0
;
cpu
<
maxcpu
;
cpu
++
)
{
bit
=
VIR_CPU_USABLE
(
cpumaps
,
cpumaplen
,
vcpuindex
,
cpu
);
isInvert
=
(
bit
^
lastbit
);
if
(
bit
&&
isInvert
)
{
if
(
lastcpu
==
-
1
)
vshPrint
(
ctl
,
"%d"
,
cpu
);
else
vshPrint
(
ctl
,
",%d"
,
cpu
);
lastcpu
=
cpu
;
}
if
(
!
bit
&&
isInvert
&&
lastcpu
!=
cpu
-
1
)
vshPrint
(
ctl
,
"-%d"
,
cpu
-
1
);
lastbit
=
bit
;
}
if
(
bit
&&
!
isInvert
)
{
vshPrint
(
ctl
,
"-%d"
,
maxcpu
-
1
);
}
return
true
;
}
static
bool
cmdVcpuPin
(
vshControl
*
ctl
,
const
vshCmd
*
cmd
)
{
...
...
@@ -4589,7 +4628,6 @@ cmdVcpuPin(vshControl *ctl, const vshCmd *cmd)
unsigned
char
*
cpumap
=
NULL
;
unsigned
char
*
cpumaps
=
NULL
;
size_t
cpumaplen
;
bool
bit
,
lastbit
,
isInvert
;
int
i
,
cpu
,
lastcpu
,
maxcpu
,
ncpus
;
bool
unuse
=
false
;
const
char
*
cur
;
...
...
@@ -4674,30 +4712,11 @@ cmdVcpuPin(vshControl *ctl, const vshCmd *cmd)
if
(
vcpu
!=
-
1
&&
i
!=
vcpu
)
continue
;
bit
=
lastbit
=
isInvert
=
false
;
lastcpu
=
-
1
;
vshPrint
(
ctl
,
"%4d: "
,
i
);
for
(
cpu
=
0
;
cpu
<
maxcpu
;
cpu
++
)
{
bit
=
VIR_CPU_USABLE
(
cpumaps
,
cpumaplen
,
i
,
cpu
);
isInvert
=
(
bit
^
lastbit
);
if
(
bit
&&
isInvert
)
{
if
(
lastcpu
==
-
1
)
vshPrint
(
ctl
,
"%d"
,
cpu
);
else
vshPrint
(
ctl
,
",%d"
,
cpu
);
lastcpu
=
cpu
;
}
if
(
!
bit
&&
isInvert
&&
lastcpu
!=
cpu
-
1
)
vshPrint
(
ctl
,
"-%d"
,
cpu
-
1
);
lastbit
=
bit
;
}
if
(
bit
&&
!
isInvert
)
{
vshPrint
(
ctl
,
"-%d"
,
maxcpu
-
1
);
}
ret
=
vshPrintPinInfo
(
cpumaps
,
cpumaplen
,
maxcpu
,
i
);
vshPrint
(
ctl
,
"
\n
"
);
if
(
!
ret
)
break
;
}
}
else
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录