Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
2bd8b1a2
K
Kernel
项目概览
openeuler
/
Kernel
大约 2 年 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
2bd8b1a2
编写于
7月 07, 2018
作者:
P
Paul E. McKenney
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rcu: Clean up flavor-related definitions and comments in rcupdate.h
Signed-off-by:
N
Paul E. McKenney
<
paulmck@linux.vnet.ibm.com
>
上级
de3875d3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
12 addition
and
15 deletion
+12
-15
include/linux/rcupdate.h
include/linux/rcupdate.h
+12
-15
未找到文件。
include/linux/rcupdate.h
浏览文件 @
2bd8b1a2
...
@@ -119,11 +119,10 @@ static inline void rcu_init_nohz(void) { }
...
@@ -119,11 +119,10 @@ static inline void rcu_init_nohz(void) { }
* RCU_NONIDLE - Indicate idle-loop code that needs RCU readers
* RCU_NONIDLE - Indicate idle-loop code that needs RCU readers
* @a: Code that RCU needs to pay attention to.
* @a: Code that RCU needs to pay attention to.
*
*
* RCU, RCU-bh, and RCU-sched read-side critical sections are forbidden
* RCU read-side critical sections are forbidden in the inner idle loop,
* in the inner idle loop, that is, between the rcu_idle_enter() and
* that is, between the rcu_idle_enter() and the rcu_idle_exit() -- RCU
* the rcu_idle_exit() -- RCU will happily ignore any such read-side
* will happily ignore any such read-side critical sections. However,
* critical sections. However, things like powertop need tracepoints
* things like powertop need tracepoints in the inner idle loop.
* in the inner idle loop.
*
*
* This macro provides the way out: RCU_NONIDLE(do_something_with_RCU())
* This macro provides the way out: RCU_NONIDLE(do_something_with_RCU())
* will tell RCU that it needs to pay attention, invoke its argument
* will tell RCU that it needs to pay attention, invoke its argument
...
@@ -163,7 +162,7 @@ void exit_tasks_rcu_finish(void);
...
@@ -163,7 +162,7 @@ void exit_tasks_rcu_finish(void);
#else
/* #ifdef CONFIG_TASKS_RCU */
#else
/* #ifdef CONFIG_TASKS_RCU */
#define rcu_tasks_qs(t) do { } while (0)
#define rcu_tasks_qs(t) do { } while (0)
#define rcu_note_voluntary_context_switch(t) rcu_all_qs()
#define rcu_note_voluntary_context_switch(t) rcu_all_qs()
#define call_rcu_tasks call_rcu
_sched
#define call_rcu_tasks call_rcu
#define synchronize_rcu_tasks synchronize_rcu
#define synchronize_rcu_tasks synchronize_rcu
static
inline
void
exit_tasks_rcu_start
(
void
)
{
}
static
inline
void
exit_tasks_rcu_start
(
void
)
{
}
static
inline
void
exit_tasks_rcu_finish
(
void
)
{
}
static
inline
void
exit_tasks_rcu_finish
(
void
)
{
}
...
@@ -309,8 +308,8 @@ static inline void rcu_preempt_sleep_check(void) { }
...
@@ -309,8 +308,8 @@ static inline void rcu_preempt_sleep_check(void) { }
* Helper functions for rcu_dereference_check(), rcu_dereference_protected()
* Helper functions for rcu_dereference_check(), rcu_dereference_protected()
* and rcu_assign_pointer(). Some of these could be folded into their
* and rcu_assign_pointer(). Some of these could be folded into their
* callers, but they are left separate in order to ease introduction of
* callers, but they are left separate in order to ease introduction of
* multiple
flavors of pointers to match the multiple flavors of RCU
* multiple
pointers markings to match different RCU implementations
* (e.g., __
rcu_sched, and __
srcu), should this make sense in the future.
* (e.g., __srcu), should this make sense in the future.
*/
*/
#ifdef __CHECKER__
#ifdef __CHECKER__
...
@@ -670,9 +669,8 @@ static inline void rcu_read_unlock(void)
...
@@ -670,9 +669,8 @@ static inline void rcu_read_unlock(void)
* rcu_read_lock_bh() - mark the beginning of an RCU-bh critical section
* rcu_read_lock_bh() - mark the beginning of an RCU-bh critical section
*
*
* This is equivalent of rcu_read_lock(), but also disables softirqs.
* This is equivalent of rcu_read_lock(), but also disables softirqs.
* Note that synchronize_rcu() and friends may be used for the update
* Note that anything else that disables softirqs can also serve as
* side, although synchronize_rcu_bh() is available as a wrapper in the
* an RCU read-side critical section.
* short term. Longer term, the _bh update-side API will be eliminated.
*
*
* Note that rcu_read_lock_bh() and the matching rcu_read_unlock_bh()
* Note that rcu_read_lock_bh() and the matching rcu_read_unlock_bh()
* must occur in the same context, for example, it is illegal to invoke
* must occur in the same context, for example, it is illegal to invoke
...
@@ -705,10 +703,9 @@ static inline void rcu_read_unlock_bh(void)
...
@@ -705,10 +703,9 @@ static inline void rcu_read_unlock_bh(void)
/**
/**
* rcu_read_lock_sched() - mark the beginning of a RCU-sched critical section
* rcu_read_lock_sched() - mark the beginning of a RCU-sched critical section
*
*
* This is equivalent of rcu_read_lock(), but to be used when updates
* This is equivalent of rcu_read_lock(), but disables preemption.
* are being done using call_rcu_sched() or synchronize_rcu_sched().
* Read-side critical sections can also be introduced by anything else
* Read-side critical sections can also be introduced by anything that
* that disables preemption, including local_irq_disable() and friends.
* disables preemption, including local_irq_disable() and friends.
*
*
* Note that rcu_read_lock_sched() and the matching rcu_read_unlock_sched()
* Note that rcu_read_lock_sched() and the matching rcu_read_unlock_sched()
* must occur in the same context, for example, it is illegal to invoke
* must occur in the same context, for example, it is illegal to invoke
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录