Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
These changes are the raw update to qemu-2.6.
[kvmfornfv.git]
/
qemu
/
include
/
qemu
/
rcu.h
diff --git
a/qemu/include/qemu/rcu.h
b/qemu/include/qemu/rcu.h
index
7df1e86
..
56d3a68
100644
(file)
--- a/
qemu/include/qemu/rcu.h
+++ b/
qemu/include/qemu/rcu.h
@@
-23,15
+23,8
@@
* IBM's contributions to this file may be relicensed under LGPLv2 or later.
*/
* IBM's contributions to this file may be relicensed under LGPLv2 or later.
*/
-#include <stdlib.h>
-#include <assert.h>
-#include <limits.h>
-#include <unistd.h>
-#include <stdint.h>
-#include <stdbool.h>
#include <glib.h>
#include <glib.h>
-#include "qemu/compiler.h"
#include "qemu/thread.h"
#include "qemu/queue.h"
#include "qemu/atomic.h"
#include "qemu/thread.h"
#include "qemu/queue.h"
#include "qemu/atomic.h"
@@
-71,7
+64,7
@@
struct rcu_reader_data {
/* Data used by reader only */
unsigned depth;
/* Data used by reader only */
unsigned depth;
- /* Data used for registry, protected by rcu_
gp
_lock */
+ /* Data used for registry, protected by rcu_
registry
_lock */
QLIST_ENTRY(rcu_reader_data) node;
};
QLIST_ENTRY(rcu_reader_data) node;
};
@@
-88,10
+81,6
@@
static inline void rcu_read_lock(void)
ctr = atomic_read(&rcu_gp_ctr);
atomic_xchg(&p_rcu_reader->ctr, ctr);
ctr = atomic_read(&rcu_gp_ctr);
atomic_xchg(&p_rcu_reader->ctr, ctr);
- if (atomic_read(&p_rcu_reader->waiting)) {
- atomic_set(&p_rcu_reader->waiting, false);
- qemu_event_set(&rcu_gp_event);
- }
}
static inline void rcu_read_unlock(void)
}
static inline void rcu_read_unlock(void)
@@
-104,7
+93,7
@@
static inline void rcu_read_unlock(void)
}
atomic_xchg(&p_rcu_reader->ctr, 0);
}
atomic_xchg(&p_rcu_reader->ctr, 0);
- if (
atomic_read(&p_rcu_reader->waiting
)) {
+ if (
unlikely(atomic_read(&p_rcu_reader->waiting)
)) {
atomic_set(&p_rcu_reader->waiting, false);
qemu_event_set(&rcu_gp_event);
}
atomic_set(&p_rcu_reader->waiting, false);
qemu_event_set(&rcu_gp_event);
}