Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
9eeebb5b
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9eeebb5b
编写于
10月 30, 2011
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'batman-adv/maint' of
git://git.open-mesh.org/linux-merge
上级
3ddb709a
93840ac4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
18 addition
and
3 deletion
+18
-3
net/batman-adv/translation-table.c
net/batman-adv/translation-table.c
+16
-1
net/batman-adv/types.h
net/batman-adv/types.h
+2
-2
未找到文件。
net/batman-adv/translation-table.c
浏览文件 @
9eeebb5b
...
...
@@ -137,10 +137,22 @@ static void tt_local_entry_free_ref(struct tt_local_entry *tt_local_entry)
kfree_rcu
(
tt_local_entry
,
rcu
);
}
static
void
tt_global_entry_free_rcu
(
struct
rcu_head
*
rcu
)
{
struct
tt_global_entry
*
tt_global_entry
;
tt_global_entry
=
container_of
(
rcu
,
struct
tt_global_entry
,
rcu
);
if
(
tt_global_entry
->
orig_node
)
orig_node_free_ref
(
tt_global_entry
->
orig_node
);
kfree
(
tt_global_entry
);
}
static
void
tt_global_entry_free_ref
(
struct
tt_global_entry
*
tt_global_entry
)
{
if
(
atomic_dec_and_test
(
&
tt_global_entry
->
refcount
))
kfree_rcu
(
tt_global_entry
,
rcu
);
call_rcu
(
&
tt_global_entry
->
rcu
,
tt_global_entry_free_
rcu
);
}
static
void
tt_local_event
(
struct
bat_priv
*
bat_priv
,
const
uint8_t
*
addr
,
...
...
@@ -710,6 +722,9 @@ void tt_global_del_orig(struct bat_priv *bat_priv,
struct
hlist_head
*
head
;
spinlock_t
*
list_lock
;
/* protects write access to the hash lists */
if
(
!
hash
)
return
;
for
(
i
=
0
;
i
<
hash
->
size
;
i
++
)
{
head
=
&
hash
->
table
[
i
];
list_lock
=
&
hash
->
list_locks
[
i
];
...
...
net/batman-adv/types.h
浏览文件 @
9eeebb5b
...
...
@@ -224,22 +224,22 @@ struct socket_packet {
struct
tt_local_entry
{
uint8_t
addr
[
ETH_ALEN
];
struct
hlist_node
hash_entry
;
unsigned
long
last_seen
;
uint16_t
flags
;
atomic_t
refcount
;
struct
rcu_head
rcu
;
struct
hlist_node
hash_entry
;
};
struct
tt_global_entry
{
uint8_t
addr
[
ETH_ALEN
];
struct
hlist_node
hash_entry
;
/* entry in the global table */
struct
orig_node
*
orig_node
;
uint8_t
ttvn
;
uint16_t
flags
;
/* only TT_GLOBAL_ROAM is used */
unsigned
long
roam_at
;
/* time at which TT_GLOBAL_ROAM was set */
atomic_t
refcount
;
struct
rcu_head
rcu
;
struct
hlist_node
hash_entry
;
/* entry in the global table */
};
struct
tt_change_node
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录