Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
f1e84eb3
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f1e84eb3
编写于
3月 23, 2012
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'vhost-net' of
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
上级
8c6b0865
ea5d4046
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
12 addition
and
6 deletion
+12
-6
drivers/vhost/net.c
drivers/vhost/net.c
+1
-1
drivers/vhost/vhost.c
drivers/vhost/vhost.c
+7
-4
drivers/vhost/vhost.h
drivers/vhost/vhost.h
+1
-1
tools/virtio/linux/hrtimer.h
tools/virtio/linux/hrtimer.h
+0
-0
tools/virtio/linux/module.h
tools/virtio/linux/module.h
+0
-0
tools/virtio/linux/virtio.h
tools/virtio/linux/virtio.h
+3
-0
未找到文件。
drivers/vhost/net.c
浏览文件 @
f1e84eb3
...
...
@@ -588,7 +588,7 @@ static int vhost_net_release(struct inode *inode, struct file *f)
vhost_net_stop
(
n
,
&
tx_sock
,
&
rx_sock
);
vhost_net_flush
(
n
);
vhost_dev_cleanup
(
&
n
->
dev
);
vhost_dev_cleanup
(
&
n
->
dev
,
false
);
if
(
tx_sock
)
fput
(
tx_sock
->
file
);
if
(
rx_sock
)
...
...
drivers/vhost/vhost.c
浏览文件 @
f1e84eb3
...
...
@@ -222,6 +222,8 @@ static int vhost_worker(void *data)
if
(
work
)
{
__set_current_state
(
TASK_RUNNING
);
work
->
fn
(
work
);
if
(
need_resched
())
schedule
();
}
else
schedule
();
...
...
@@ -403,7 +405,7 @@ long vhost_dev_reset_owner(struct vhost_dev *dev)
if
(
!
memory
)
return
-
ENOMEM
;
vhost_dev_cleanup
(
dev
);
vhost_dev_cleanup
(
dev
,
true
);
memory
->
nregions
=
0
;
RCU_INIT_POINTER
(
dev
->
memory
,
memory
);
...
...
@@ -434,8 +436,8 @@ int vhost_zerocopy_signal_used(struct vhost_virtqueue *vq)
return
j
;
}
/* Caller should have device mutex */
void
vhost_dev_cleanup
(
struct
vhost_dev
*
dev
)
/* Caller should have device mutex
if and only if locked is set
*/
void
vhost_dev_cleanup
(
struct
vhost_dev
*
dev
,
bool
locked
)
{
int
i
;
...
...
@@ -472,7 +474,8 @@ void vhost_dev_cleanup(struct vhost_dev *dev)
dev
->
log_file
=
NULL
;
/* No one will access memory at this point */
kfree
(
rcu_dereference_protected
(
dev
->
memory
,
lockdep_is_held
(
&
dev
->
mutex
)));
locked
==
lockdep_is_held
(
&
dev
->
mutex
)));
RCU_INIT_POINTER
(
dev
->
memory
,
NULL
);
WARN_ON
(
!
list_empty
(
&
dev
->
work_list
));
if
(
dev
->
worker
)
{
...
...
drivers/vhost/vhost.h
浏览文件 @
f1e84eb3
...
...
@@ -163,7 +163,7 @@ struct vhost_dev {
long
vhost_dev_init
(
struct
vhost_dev
*
,
struct
vhost_virtqueue
*
vqs
,
int
nvqs
);
long
vhost_dev_check_owner
(
struct
vhost_dev
*
);
long
vhost_dev_reset_owner
(
struct
vhost_dev
*
);
void
vhost_dev_cleanup
(
struct
vhost_dev
*
);
void
vhost_dev_cleanup
(
struct
vhost_dev
*
,
bool
locked
);
long
vhost_dev_ioctl
(
struct
vhost_dev
*
,
unsigned
int
ioctl
,
unsigned
long
arg
);
int
vhost_vq_access_ok
(
struct
vhost_virtqueue
*
vq
);
int
vhost_log_access_ok
(
struct
vhost_dev
*
);
...
...
tools/virtio/linux/hrtimer.h
0 → 100644
浏览文件 @
f1e84eb3
tools/virtio/linux/module.h
0 → 100644
浏览文件 @
f1e84eb3
tools/virtio/linux/virtio.h
浏览文件 @
f1e84eb3
...
...
@@ -181,6 +181,9 @@ struct virtqueue {
#define smp_mb() mb()
# define smp_rmb() barrier()
# define smp_wmb() barrier()
/* Weak barriers should be used. If not - it's a bug */
# define rmb() abort()
# define wmb() abort()
#else
#error Please fill in barrier macros
#endif
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录