[2/3] Add adaptive elision to rwlocks v2
Commit Message
On Sat, Jun 14, 2014 at 12:46:33AM +0200, Andi Kleen wrote:
> On Fri, Jun 13, 2014 at 11:17:32PM +0200, Andreas Schwab wrote:
> > Andi Kleen <andi@firstfloor.org> writes:
> >
> > > @@ -22,6 +22,7 @@
> > > #include <pthread.h>
> > > #include <pthreadP.h>
> > > #include <stap-probe.h>
> > > +#include <elide.h>
> >
> > pthread_rwlock_rdlock.c:25:19: fatal error: elide.h: No such file or directory
> > #include <elide.h>
>
> On what platform is that? Perhaps the fallback file got lost.
This patch should fix it.
Ok to commit?
Author: Andi Kleen <ak@linux.intel.com>
Date: Fri Jun 13 15:50:45 2014 -0700
Add fallback file for elide.h
Add the missing fallback file for elide.h to fix non x86 builds.
Sorry about that. This is just a noop macro file that makes
all elision code to be optimized out.
2014-06-13 Andi Kleen <ak@linux.intel.com>
* sysdeps/generic/elide.h
(ELIDE_LOCK, ELIDE_TRYLOCK, ELIDE_UNLOCK): Add fallback macros.
Comments
Andi Kleen <andi@firstfloor.org> writes:
> 2014-06-13 Andi Kleen <ak@linux.intel.com>
>
> * sysdeps/generic/elide.h
> (ELIDE_LOCK, ELIDE_TRYLOCK, ELIDE_UNLOCK): Add fallback macros.
This is a new file, so write that.
Andreas.
On Sat, Jun 14, 2014 at 09:05:43AM +0200, Andreas Schwab wrote:
> Andi Kleen <andi@firstfloor.org> writes:
>
> > 2014-06-13 Andi Kleen <ak@linux.intel.com>
> >
> > * sysdeps/generic/elide.h
> > (ELIDE_LOCK, ELIDE_TRYLOCK, ELIDE_UNLOCK): Add fallback macros.
>
> This is a new file, so write that.
Thanks. I pushed the commit now with this change, to unbreak everyone's
build.
-Andi
new file mode 100644
@@ -0,0 +1,25 @@
+/* elide.h: Fallback noop lock elision support.
+ Copyright (C) 2014 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+#ifndef ELIDE_H
+#define ELIDE_H 1
+
+#define ELIDE_LOCK(adapt_count, is_lock_free) 0
+#define ELIDE_TRYLOCK(adapt_count, is_lock_free, write) 0
+#define ELIDE_UNLOCK(is_lock_free) 0
+
+#endif