forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
No change in functionality - just straighten out a few small stylistic details. Cc: Paul E. McKenney <[email protected]> Cc: David Howells <[email protected]> Cc: Josh Triplett <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] LKML-Reference: <12565226351355-git-send-email-> Signed-off-by: Ingo Molnar <[email protected]>
- Loading branch information
Ingo Molnar
committed
Oct 26, 2009
1 parent
cf886c4
commit 4ce5b90
Showing
2 changed files
with
25 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,9 +20,8 @@ | |
* Author: Paul E. McKenney <[email protected]> | ||
* | ||
* For detailed explanation of Read-Copy Update mechanism see - | ||
* Documentation/RCU | ||
* Documentation/RCU | ||
*/ | ||
|
||
#ifndef __LINUX_TINY_H | ||
#define __LINUX_TINY_H | ||
|
||
|
@@ -70,8 +69,7 @@ static inline void synchronize_rcu_bh_expedited(void) | |
} | ||
|
||
struct notifier_block; | ||
extern int rcu_cpu_notify(struct notifier_block *self, | ||
unsigned long action, void *hcpu); | ||
extern int rcu_cpu_notify(struct notifier_block *self, unsigned long action, void *hcpu); | ||
|
||
#ifdef CONFIG_NO_HZ | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,22 +20,21 @@ | |
* Author: Paul E. McKenney <[email protected]> | ||
* | ||
* For detailed explanation of Read-Copy Update mechanism see - | ||
* Documentation/RCU | ||
* Documentation/RCU | ||
*/ | ||
|
||
#include <linux/types.h> | ||
#include <linux/kernel.h> | ||
#include <linux/init.h> | ||
#include <linux/rcupdate.h> | ||
#include <linux/interrupt.h> | ||
#include <linux/sched.h> | ||
#include <linux/module.h> | ||
#include <linux/completion.h> | ||
#include <linux/moduleparam.h> | ||
#include <linux/completion.h> | ||
#include <linux/interrupt.h> | ||
#include <linux/notifier.h> | ||
#include <linux/cpu.h> | ||
#include <linux/rcupdate.h> | ||
#include <linux/kernel.h> | ||
#include <linux/module.h> | ||
#include <linux/mutex.h> | ||
#include <linux/sched.h> | ||
#include <linux/types.h> | ||
#include <linux/init.h> | ||
#include <linux/time.h> | ||
#include <linux/cpu.h> | ||
|
||
/* Global control variables for rcupdate callback mechanism. */ | ||
struct rcu_ctrlblk { | ||
|
@@ -46,14 +45,13 @@ struct rcu_ctrlblk { | |
|
||
/* Definition for rcupdate control block. */ | ||
static struct rcu_ctrlblk rcu_ctrlblk = { | ||
.rcucblist = NULL, | ||
.donetail = &rcu_ctrlblk.rcucblist, | ||
.curtail = &rcu_ctrlblk.rcucblist, | ||
.donetail = &rcu_ctrlblk.rcucblist, | ||
.curtail = &rcu_ctrlblk.rcucblist, | ||
}; | ||
|
||
static struct rcu_ctrlblk rcu_bh_ctrlblk = { | ||
.rcucblist = NULL, | ||
.donetail = &rcu_bh_ctrlblk.rcucblist, | ||
.curtail = &rcu_bh_ctrlblk.rcucblist, | ||
.donetail = &rcu_bh_ctrlblk.rcucblist, | ||
.curtail = &rcu_bh_ctrlblk.rcucblist, | ||
}; | ||
|
||
#ifdef CONFIG_NO_HZ | ||
|
@@ -84,8 +82,8 @@ void rcu_exit_nohz(void) | |
|
||
/* | ||
* Helper function for rcu_qsctr_inc() and rcu_bh_qsctr_inc(). | ||
* Also disable irqs to avoid confusion due to interrupt handlers invoking | ||
* call_rcu(). | ||
* Also disable irqs to avoid confusion due to interrupt handlers | ||
* invoking call_rcu(). | ||
*/ | ||
static int rcu_qsctr_help(struct rcu_ctrlblk *rcp) | ||
{ | ||
|
@@ -99,6 +97,7 @@ static int rcu_qsctr_help(struct rcu_ctrlblk *rcp) | |
return 1; | ||
} | ||
local_irq_restore(flags); | ||
|
||
return 0; | ||
} | ||
|
||
|
@@ -143,8 +142,8 @@ void rcu_check_callbacks(int cpu, int user) | |
*/ | ||
static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp) | ||
{ | ||
unsigned long flags; | ||
struct rcu_head *next, *list; | ||
unsigned long flags; | ||
|
||
/* If no RCU callbacks ready to invoke, just return. */ | ||
if (&rcp->rcucblist == rcp->donetail) | ||
|
@@ -182,8 +181,7 @@ static void rcu_process_callbacks(struct softirq_action *unused) | |
* Null function to handle CPU being onlined. Longer term, we want to | ||
* make TINY_RCU avoid using rcupdate.c, but later... | ||
*/ | ||
int rcu_cpu_notify(struct notifier_block *self, | ||
unsigned long action, void *hcpu) | ||
int rcu_cpu_notify(struct notifier_block *self, unsigned long action, void *hcpu) | ||
{ | ||
return NOTIFY_OK; | ||
} | ||
|
@@ -223,6 +221,7 @@ static void __call_rcu(struct rcu_head *head, | |
|
||
head->func = func; | ||
head->next = NULL; | ||
|
||
local_irq_save(flags); | ||
*rcp->curtail = head; | ||
rcp->curtail = &head->next; | ||
|
@@ -234,8 +233,7 @@ static void __call_rcu(struct rcu_head *head, | |
* period. But since we have but one CPU, that would be after any | ||
* quiescent state. | ||
*/ | ||
void call_rcu(struct rcu_head *head, | ||
void (*func)(struct rcu_head *rcu)) | ||
void call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *rcu)) | ||
{ | ||
__call_rcu(head, func, &rcu_ctrlblk); | ||
} | ||
|
@@ -245,8 +243,7 @@ EXPORT_SYMBOL_GPL(call_rcu); | |
* Post an RCU bottom-half callback to be invoked after any subsequent | ||
* quiescent state. | ||
*/ | ||
void call_rcu_bh(struct rcu_head *head, | ||
void (*func)(struct rcu_head *rcu)) | ||
void call_rcu_bh(struct rcu_head *head, void (*func)(struct rcu_head *rcu)) | ||
{ | ||
__call_rcu(head, func, &rcu_bh_ctrlblk); | ||
} | ||
|