1 |
|
2 |
This patch disables adaptive elision on rwlocks |
3 |
ELIDE_UNLOCK that get triggered on non-haswell hw :/ |
4 |
|
5 |
https://bugs.mageia.org/show_bug.cgi?id=14172 |
6 |
|
7 |
Signed-off-by: Thomas Backlund <tmb@mageia.org> |
8 |
|
9 |
--- glibc-2.20/sysdeps/x86/elide.h 2014-09-07 11:09:09.000000000 +0300 |
10 |
+++ glibc-2.20.fix/sysdeps/x86/elide.h 2014-10-10 20:07:14.137285925 +0300 |
11 |
@@ -98,10 +98,13 @@ elision_adapt(signed char *adapt_count, |
12 |
#define ELIDE_UNLOCK(is_lock_free) \ |
13 |
({ \ |
14 |
int ret = 0; \ |
15 |
- if (is_lock_free) \ |
16 |
+ if (__elision_aconf.retry_try_xbegin > 0) \ |
17 |
{ \ |
18 |
- _xend (); \ |
19 |
- ret = 1; \ |
20 |
+ if (is_lock_free) \ |
21 |
+ { \ |
22 |
+ _xend (); \ |
23 |
+ ret = 1; \ |
24 |
+ } \ |
25 |
} \ |
26 |
ret; \ |
27 |
}) |