summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Vojtovich <svoj@mariadb.org>2016-05-03 12:21:17 +0400
committerSergey Vojtovich <svoj@mariadb.org>2016-06-07 13:02:31 +0400
commit9de6708390885415dc6737fcdb96a53ce565a7c2 (patch)
tree6a3d770bf5c5f83f257c036c834a88ded55d5222
parent49ad08450369dbf7ee85759786b6b844e1460471 (diff)
downloadmariadb-git-9de6708390885415dc6737fcdb96a53ce565a7c2.tar.gz
MDEV-9857 - CACHE_LINE_SIZE in innodb should be 128 on POWER
Replaced hard-coded cache line size. Changes based on Daniel Black's work.
-rw-r--r--include/lf.h7
-rw-r--r--mysys/lf_alloc-pin.c1
-rw-r--r--storage/perfschema/pfs_global.h2
3 files changed, 3 insertions, 7 deletions
diff --git a/include/lf.h b/include/lf.h
index 19bdafce647..1825de62b43 100644
--- a/include/lf.h
+++ b/include/lf.h
@@ -68,11 +68,8 @@ typedef struct {
void *purgatory;
uint32 purgatory_count;
uint32 volatile link;
-/* we want sizeof(LF_PINS) to be 128 to avoid false sharing */
- char pad[128-sizeof(uint32)*2
- -sizeof(LF_PINBOX *)
- -sizeof(void*)
- -sizeof(void *)*(LF_PINBOX_PINS+1)];
+ /* avoid false sharing */
+ char pad[CPU_LEVEL1_DCACHE_LINESIZE];
} LF_PINS;
/* compile-time assert to make sure we have enough pins. */
diff --git a/mysys/lf_alloc-pin.c b/mysys/lf_alloc-pin.c
index b349ef88ed1..932dfe0f254 100644
--- a/mysys/lf_alloc-pin.c
+++ b/mysys/lf_alloc-pin.c
@@ -121,7 +121,6 @@ void lf_pinbox_init(LF_PINBOX *pinbox, uint free_ptr_offset,
lf_pinbox_free_func *free_func, void *free_func_arg)
{
DBUG_ASSERT(free_ptr_offset % sizeof(void *) == 0);
- compile_time_assert(sizeof(LF_PINS) == 128);
lf_dynarray_init(&pinbox->pinarray, sizeof(LF_PINS));
pinbox->pinstack_top_ver= 0;
pinbox->pins_in_array= 0;
diff --git a/storage/perfschema/pfs_global.h b/storage/perfschema/pfs_global.h
index f3326c5589f..7373f459599 100644
--- a/storage/perfschema/pfs_global.h
+++ b/storage/perfschema/pfs_global.h
@@ -31,7 +31,7 @@ extern bool pfs_initialized;
extern size_t pfs_allocated_memory;
#if defined(HAVE_POSIX_MEMALIGN) || defined(HAVE_MEMALIGN) || defined(HAVE_ALIGNED_MALLOC)
-#define PFS_ALIGNEMENT 64
+#define PFS_ALIGNEMENT CPU_LEVEL1_DCACHE_LINESIZE
#define PFS_ALIGNED MY_ALIGNED(PFS_ALIGNEMENT)
#else
/*