projects
/
userspace-rcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
qsbr: micro optimization of the gp use.
[userspace-rcu.git]
/
urcu-qsbr-static.h
diff --git
a/urcu-qsbr-static.h
b/urcu-qsbr-static.h
index b18affeb1be6ea203b7636e5f235011cd01580b7..8d8aa3f8f60519620dbcfb78aef1b007c6183e5c 100644
(file)
--- a/
urcu-qsbr-static.h
+++ b/
urcu-qsbr-static.h
@@
-176,7
+176,7
@@
static inline int rcu_gp_ongoing(long *value)
if (value == NULL)
return 0;
reader_gp = LOAD_SHARED(*value);
if (value == NULL)
return 0;
reader_gp = LOAD_SHARED(*value);
- return
(reader_gp & 1)
&& (reader_gp - urcu_gp_ctr < 0);
+ return
reader_gp
&& (reader_gp - urcu_gp_ctr < 0);
}
static inline void _rcu_read_lock(void)
}
static inline void _rcu_read_lock(void)
@@
-191,7
+191,7
@@
static inline void _rcu_read_unlock(void)
static inline void _rcu_quiescent_state(void)
{
smp_mb();
static inline void _rcu_quiescent_state(void)
{
smp_mb();
- _STORE_SHARED(rcu_reader_qs_gp, _LOAD_SHARED(urcu_gp_ctr)
+ 1
);
+ _STORE_SHARED(rcu_reader_qs_gp, _LOAD_SHARED(urcu_gp_ctr));
smp_mb();
}
smp_mb();
}
@@
-203,7
+203,7
@@
static inline void _rcu_thread_offline(void)
static inline void _rcu_thread_online(void)
{
static inline void _rcu_thread_online(void)
{
- _STORE_SHARED(rcu_reader_qs_gp, LOAD_SHARED(urcu_gp_ctr)
+ 1
);
+ _STORE_SHARED(rcu_reader_qs_gp, LOAD_SHARED(urcu_gp_ctr));
smp_mb();
}
smp_mb();
}
This page took
0.024405 seconds
and
4
git commands to generate.