blob: 23b2f2aaf01b1be1e42314f408cf33e201a0a594 [file] [log] [blame]
From c486455e0691f9915018b9d8b133200a6c61a3c5 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Thu, 24 May 2018 09:58:42 -0700
Subject: [PATCH] Remove atomics
Based on this patch:
https://github.com/patrikx3/lede-redis/blob/master/redis/patches/010-redis.patch
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
---
deps/jemalloc/src/pages.c | 22 +---------------------
src/atomicvar.h | 4 ++--
2 files changed, 3 insertions(+), 23 deletions(-)
diff --git a/deps/jemalloc/src/pages.c b/deps/jemalloc/src/pages.c
index 83a167f6..8e82c78d 100644
--- a/deps/jemalloc/src/pages.c
+++ b/deps/jemalloc/src/pages.c
@@ -147,27 +147,7 @@ pages_purge(void *addr, size_t size)
{
bool unzeroed;
-#ifdef _WIN32
- VirtualAlloc(addr, size, MEM_RESET, PAGE_READWRITE);
- unzeroed = true;
-#elif defined(JEMALLOC_HAVE_MADVISE)
-# ifdef JEMALLOC_PURGE_MADVISE_DONTNEED
-# define JEMALLOC_MADV_PURGE MADV_DONTNEED
-# define JEMALLOC_MADV_ZEROS true
-# elif defined(JEMALLOC_PURGE_MADVISE_FREE)
-# define JEMALLOC_MADV_PURGE MADV_FREE
-# define JEMALLOC_MADV_ZEROS false
-# else
-# error "No madvise(2) flag defined for purging unused dirty pages."
-# endif
- int err = madvise(addr, size, JEMALLOC_MADV_PURGE);
- unzeroed = (!JEMALLOC_MADV_ZEROS || err != 0);
-# undef JEMALLOC_MADV_PURGE
-# undef JEMALLOC_MADV_ZEROS
-#else
- /* Last resort no-op. */
- unzeroed = true;
-#endif
+ unzeroed = false;
return (unzeroed);
}
diff --git a/src/atomicvar.h b/src/atomicvar.h
index 84a5bbc5..f9b563c2 100644
--- a/src/atomicvar.h
+++ b/src/atomicvar.h
@@ -68,7 +68,7 @@
* is reported. */
// #define __ATOMIC_VAR_FORCE_SYNC_MACROS
-#if !defined(__ATOMIC_VAR_FORCE_SYNC_MACROS) && defined(__ATOMIC_RELAXED) && !defined(__sun) && (!defined(__clang__) || !defined(__APPLE__) || __apple_build_version__ > 4210057)
+#if defined(CONFIG_EDAC_ATOMIC_SCRUB) && !defined(__ATOMIC_VAR_FORCE_SYNC_MACROS) && defined(__ATOMIC_RELAXED) && !defined(__sun) && (!defined(__clang__) || !defined(__APPLE__) || __apple_build_version__ > 4210057)
/* Implementation using __atomic macros. */
#define atomicIncr(var,count) __atomic_add_fetch(&var,(count),__ATOMIC_RELAXED)
@@ -82,7 +82,7 @@
#define atomicSet(var,value) __atomic_store_n(&var,value,__ATOMIC_RELAXED)
#define REDIS_ATOMIC_API "atomic-builtin"
-#elif defined(HAVE_ATOMIC)
+#elif defined(CONFIG_EDAC_ATOMIC_SCRUB) && defined(HAVE_ATOMIC)
/* Implementation using __sync macros. */
#define atomicIncr(var,count) __sync_add_and_fetch(&var,(count))
--
2.17.0