From 7d7024044976711483d238fd0ce8ba4114faa018 Mon Sep 17 00:00:00 2001 From: Samy Al Bahra Date: Fri, 20 Feb 2015 00:06:09 -0500 Subject: [PATCH 01/14] general: First pass cast qualifier warning fixes. --- configure | 2 +- include/gcc/x86_64/ck_pr.h | 6 +++--- regressions/ck_hs/validate/serial.c | 6 +++--- regressions/ck_ht/validate/serial.c | 2 +- src/Makefile.in | 5 ++--- src/ck_hs.c | 32 +++++++++++++++++------------ src/ck_ht_hash.h | 10 ++++----- src/ck_rhs.c | 27 ++++++++++++++---------- 8 files changed, 50 insertions(+), 40 deletions(-) diff --git a/configure b/configure index 57da1bb..9cb1560 100755 --- a/configure +++ b/configure @@ -599,7 +599,7 @@ elif test "$COMPILER" = "gcc" || test "$COMPILER" = "clang" || test "$COMPILER" INSTALL_LIBS="install-lib" fi - CFLAGS="-D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses $CFLAGS" + CFLAGS="-D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -std=gnu99 -pedantic -Wall -W -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wcast-align -Wcast-qual -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wdisabled-optimization -fstrict-aliasing -O2 -pipe -Wno-parentheses $CFLAGS" PTHREAD_CFLAGS="-pthread" if test "$COMPILER" = "mingw64"; then ENVIRONMENT=64 diff --git a/include/gcc/x86_64/ck_pr.h b/include/gcc/x86_64/ck_pr.h index 4d57e80..22ba76a 100644 --- a/include/gcc/x86_64/ck_pr.h +++ b/include/gcc/x86_64/ck_pr.h @@ -131,9 +131,9 @@ CK_PR_FAS_S(8, uint8_t, "xchgb") { \ T r; \ __asm__ __volatile__(I " %1, %0" \ - : "=q" (r) \ - : "m" (*(C *)target) \ - : "memory"); \ + : "=q" (r) \ + : "m" (*(const C *)target) \ + : "memory"); \ return (r); \ } diff --git a/regressions/ck_hs/validate/serial.c b/regressions/ck_hs/validate/serial.c index d6f6c0a..a16fc82 100644 --- a/regressions/ck_hs/validate/serial.c +++ b/regressions/ck_hs/validate/serial.c @@ -150,7 +150,7 @@ run_test(unsigned int is, unsigned int ad) if (i & 1) { if (ck_hs_put_unique(&hs[j], h, test[i]) == false) ck_error("ERROR [%zu]: Failed to insert unique (%s)\n", j, test[i]); - } else if (ck_hs_apply(&hs[j], h, test[i], test_unique, (char *)test[i]) == false) { + } else if (ck_hs_apply(&hs[j], h, test[i], test_unique, (void *)(uintptr_t)test[i]) == false) { ck_error("ERROR: Failed to apply for insertion.\n"); } @@ -161,7 +161,7 @@ run_test(unsigned int is, unsigned int ad) ck_error("ERROR: Failed to remove apply.\n"); } - if (ck_hs_apply(&hs[j], h, test[i], test_negative, (char *)test[i]) == false) + if (ck_hs_apply(&hs[j], h, test[i], test_negative, (char *)(uintptr_t)test[i]) == false) ck_error("ERROR: Failed to apply.\n"); break; @@ -272,7 +272,7 @@ run_test(unsigned int is, unsigned int ad) } /* Attempt in-place mutation. */ - if (ck_hs_apply(&hs[j], h, test[i], test_ip, (void *)test[i]) == false) + if (ck_hs_apply(&hs[j], h, test[i], test_ip, (void *)(uintptr_t)test[i]) == false) ck_error("ERROR [%u]: Failed to apply: %s != %s\n", is, (char *)r, test[i]); d = ck_hs_get(&hs[j], h, test[i]) != NULL; diff --git a/regressions/ck_ht/validate/serial.c b/regressions/ck_ht/validate/serial.c index e8a6f6c..3e85a61 100644 --- a/regressions/ck_ht/validate/serial.c +++ b/regressions/ck_ht/validate/serial.c @@ -83,7 +83,7 @@ main(void) mode |= CK_HT_WORKLOAD_DELETE; #endif - if (ck_ht_init(&ht, mode, NULL, &my_allocator, 16, 6602834) == false) { + if (ck_ht_init(&ht, mode, NULL, &my_allocator, 2, 6602834) == false) { perror("ck_ht_init"); exit(EXIT_FAILURE); } diff --git a/src/Makefile.in b/src/Makefile.in index 367b25e..0d84e76 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -29,7 +29,7 @@ libck.a: $(OBJECTS) ck_array.o: $(INCLUDE_DIR)/ck_array.h $(SDIR)/ck_array.c $(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_array.o $(SDIR)/ck_array.c -ck_epoch.o: $(INCLUDE_DIR)/ck_epoch.h $(SDIR)/ck_epoch.c +ck_epoch.o: $(INCLUDE_DIR)/ck_epoch.h $(SDIR)/ck_epoch.c $(INCLUDE_DIR)/ck_stack.h $(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_epoch.o $(SDIR)/ck_epoch.c ck_hs.o: $(INCLUDE_DIR)/ck_hs.h $(SDIR)/ck_hs.c @@ -41,7 +41,7 @@ ck_rhs.o: $(INCLUDE_DIR)/ck_rhs.h $(SDIR)/ck_rhs.c ck_ht.o: $(INCLUDE_DIR)/ck_ht.h $(SDIR)/ck_ht.c $(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_ht.o $(SDIR)/ck_ht.c -ck_hp.o: $(SDIR)/ck_hp.c +ck_hp.o: $(SDIR)/ck_hp.c $(INCLUDE_DIR)/ck_hp.h $(INCLUDE_DIR)/ck_stack.h $(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_hp.o $(SDIR)/ck_hp.c ck_barrier_centralized.o: $(SDIR)/ck_barrier_centralized.c @@ -62,4 +62,3 @@ ck_barrier_mcs.o: $(SDIR)/ck_barrier_mcs.c clean: rm -rf $(TARGET_DIR)/*.dSYM $(TARGET_DIR)/*~ $(TARGET_DIR)/*.o \ $(OBJECTS) $(TARGET_DIR)/libck.a $(TARGET_DIR)/libck.so - diff --git a/src/ck_hs.c b/src/ck_hs.c index 5808876..09191c7 100644 --- a/src/ck_hs.c +++ b/src/ck_hs.c @@ -498,24 +498,26 @@ leave: return cursor; } -static inline void * +static inline const void * ck_hs_marshal(unsigned int mode, const void *key, unsigned long h) { - void *insert; - #ifdef CK_HS_PP + const void *insert; + if (mode & CK_HS_MODE_OBJECT) { - insert = (void *)((uintptr_t)CK_HS_VMA(key) | ((h >> 25) << CK_MD_VMA_BITS)); + insert = (void *)((uintptr_t)CK_HS_VMA(key) | + ((h >> 25) << CK_MD_VMA_BITS)); } else { - insert = (void *)key; + insert = key; } + + return insert; #else (void)mode; (void)h; - insert = (void *)key; -#endif - return insert; + return key; +#endif } bool @@ -570,7 +572,7 @@ ck_hs_gc(struct ck_hs *hs, unsigned long cycles, unsigned long seed) ck_hs_map_bound_get(map, h), CK_HS_PROBE); if (first != NULL) { - void *insert = ck_hs_marshal(hs->mode, entry, h); + const void *insert = ck_hs_marshal(hs->mode, entry, h); ck_pr_store_ptr(first, insert); ck_pr_inc_uint(&map->generation[h & CK_HS_G_MASK]); @@ -614,7 +616,8 @@ ck_hs_fas(struct ck_hs *hs, const void *key, void **previous) { - void **slot, **first, *object, *insert; + const void *insert; + void **slot, **first, *object; unsigned long n_probes; struct ck_hs_map *map = hs->map; @@ -660,7 +663,8 @@ ck_hs_apply(struct ck_hs *hs, ck_hs_apply_fn_t *fn, void *cl) { - void **slot, **first, *object, *insert, *delta; + const void *insert; + void **slot, **first, *object, *delta; unsigned long n_probes; struct ck_hs_map *map; @@ -731,7 +735,8 @@ ck_hs_set(struct ck_hs *hs, const void *key, void **previous) { - void **slot, **first, *object, *insert; + const void *insert; + void **slot, **first, *object; unsigned long n_probes; struct ck_hs_map *map; @@ -788,7 +793,8 @@ ck_hs_put_internal(struct ck_hs *hs, const void *key, enum ck_hs_probe_behavior behavior) { - void **slot, **first, *object, *insert; + const void *insert; + void **slot, **first, *object; unsigned long n_probes; struct ck_hs_map *map; diff --git a/src/ck_ht_hash.h b/src/ck_ht_hash.h index 075c2c1..5f0f604 100644 --- a/src/ck_ht_hash.h +++ b/src/ck_ht_hash.h @@ -122,7 +122,7 @@ static inline void MurmurHash3_x86_32 ( const void * key, int len, //---------- // body - const uint32_t * blocks = (const uint32_t *)(void *)(data + nblocks*4); + const uint32_t * blocks = (const uint32_t *)(const void *)(data + nblocks*4); for(i = -nblocks; i; i++) { @@ -179,7 +179,7 @@ static inline uint64_t MurmurHash64A ( const void * key, int len, uint64_t seed if (!((uintptr_t)data & 0x7)) k = *data++; else { - memcpy(&k, (void *)data, sizeof(k)); + memcpy(&k, data, sizeof(k)); data++; } @@ -248,9 +248,9 @@ static inline uint64_t MurmurHash64B ( const void * key, int len, uint64_t seed switch(len) { - case 3: h2 ^= ((unsigned char*)data)[2] << 16; - case 2: h2 ^= ((unsigned char*)data)[1] << 8; - case 1: h2 ^= ((unsigned char*)data)[0]; + case 3: h2 ^= ((const unsigned char*)data)[2] << 16; + case 2: h2 ^= ((const unsigned char*)data)[1] << 8; + case 1: h2 ^= ((const unsigned char*)data)[0]; h2 *= m; }; diff --git a/src/ck_rhs.c b/src/ck_rhs.c index 657ee20..966f575 100644 --- a/src/ck_rhs.c +++ b/src/ck_rhs.c @@ -782,24 +782,25 @@ leave: return offset; } -static inline void * +static inline const void * ck_rhs_marshal(unsigned int mode, const void *key, unsigned long h) { - void *insert; - #ifdef CK_RHS_PP + const void *insert; + if (mode & CK_RHS_MODE_OBJECT) { insert = (void *)((uintptr_t)CK_RHS_VMA(key) | ((h >> 25) << CK_MD_VMA_BITS)); } else { - insert = (void *)key; + insert = key; } + + return insert; #else (void)mode; (void)h; - insert = (void *)key; -#endif - return insert; + return key; +#endif } bool @@ -1047,7 +1048,8 @@ ck_rhs_fas(struct ck_rhs *hs, void **previous) { long slot, first; - void *object, *insert; + void *object; + const void *insert; unsigned long n_probes; struct ck_rhs_map *map = hs->map; struct ck_rhs_entry_desc *desc, *desc2; @@ -1108,7 +1110,8 @@ ck_rhs_apply(struct ck_rhs *hs, ck_rhs_apply_fn_t *fn, void *cl) { - void *object, *insert, *delta = false; + const void *insert; + void *object, *delta = false; unsigned long n_probes; long slot, first; struct ck_rhs_map *map; @@ -1211,7 +1214,8 @@ ck_rhs_set(struct ck_rhs *hs, void **previous) { long slot, first; - void *object, *insert; + void *object; + const void *insert; unsigned long n_probes; struct ck_rhs_map *map; @@ -1290,7 +1294,8 @@ ck_rhs_put_internal(struct ck_rhs *hs, enum ck_rhs_probe_behavior behavior) { long slot, first; - void *object, *insert; + void *object; + const void *insert; unsigned long n_probes; struct ck_rhs_map *map; From 7996e0456078d5757e604fe410fc8e2777a1709b Mon Sep 17 00:00:00 2001 From: Theo Schlossnagle Date: Mon, 23 Feb 2015 16:56:06 +0000 Subject: [PATCH 02/14] Support 32bit builds on Illumos/Solaris via ISA=i386 --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 57da1bb..f5934f3 100755 --- a/configure +++ b/configure @@ -418,7 +418,7 @@ case $PLATFORM in "i86pc") RTM_ENABLE="CK_MD_RTM_DISABLE" MM="${MM:-"CK_MD_TSO"}" - ISA=`isainfo -n 2> /dev/null || echo i386` + if test -z "$ISA"; then ISA=`isainfo -n 2> /dev/null || echo i386` ; fi case "$ISA" in "amd64") RTM_ENABLE=${RTM_ENABLE_SET:-"CK_MD_RTM_DISABLE"} From 4224f5315975cbbbfa0d750d76cbc5d823c77c0e Mon Sep 17 00:00:00 2001 From: Samy Al Bahra Date: Sun, 1 Mar 2015 13:45:14 -0500 Subject: [PATCH 03/14] ck_cc: -Wcast-qual clean-up. --- include/ck_cc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/ck_cc.h b/include/ck_cc.h index a4baaa5..68221f8 100644 --- a/include/ck_cc.h +++ b/include/ck_cc.h @@ -40,7 +40,7 @@ CK_CC_INLINE static T * \ N(F *p) \ { \ - const F *n = p; \ + F *n = p; \ return (T *)(void *)(((char *)n) - ((size_t)&((T *)0)->M)); \ } From 2030767b213187816e40fee761bf17cc321ed3a2 Mon Sep 17 00:00:00 2001 From: Samy Al Bahra Date: Sun, 1 Mar 2015 13:45:27 -0500 Subject: [PATCH 04/14] regressions/ck_rhs: -Wcast-qual clean-up. --- regressions/ck_rhs/validate/serial.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/regressions/ck_rhs/validate/serial.c b/regressions/ck_rhs/validate/serial.c index d11b4e4..ef9365f 100644 --- a/regressions/ck_rhs/validate/serial.c +++ b/regressions/ck_rhs/validate/serial.c @@ -150,7 +150,8 @@ run_test(unsigned int is, unsigned int ad) if (i & 1) { if (ck_rhs_put_unique(&hs[j], h, test[i]) == false) ck_error("ERROR [%zu]: Failed to insert unique (%s)\n", j, test[i]); - } else if (ck_rhs_apply(&hs[j], h, test[i], test_unique, (char *)test[i]) == false) { + } else if (ck_rhs_apply(&hs[j], h, test[i], test_unique, + (void *)(uintptr_t)test[i]) == false) { ck_error("ERROR: Failed to apply for insertion.\n"); } @@ -161,7 +162,8 @@ run_test(unsigned int is, unsigned int ad) ck_error("ERROR: Failed to remove apply.\n"); } - if (ck_rhs_apply(&hs[j], h, test[i], test_negative, (char *)test[i]) == false) + if (ck_rhs_apply(&hs[j], h, test[i], test_negative, + (void *)(uintptr_t)test[i]) == false) ck_error("ERROR: Failed to apply.\n"); break; @@ -268,8 +270,10 @@ run_test(unsigned int is, unsigned int ad) ck_error("ERROR [%u]: Invalid &hs[j]: %s != %s\n", (char *)r, test[i], is); } /* Attempt in-place mutation. */ - if (ck_rhs_apply(&hs[j], h, test[i], test_ip, (void *)test[i]) == false) + if (ck_rhs_apply(&hs[j], h, test[i], test_ip, + (void *)(uintptr_t)test[i]) == false) { ck_error("ERROR [%u]: Failed to apply: %s != %s\n", is, (char *)r, test[i]); + } d = ck_rhs_get(&hs[j], h, test[i]) != NULL; if (d == false) From 9d59c3d004fe6e0c361dac76e15d67df94224b91 Mon Sep 17 00:00:00 2001 From: Samy Al Bahra Date: Sun, 1 Mar 2015 13:46:25 -0500 Subject: [PATCH 05/14] x86: -Wcast-qual clean-up. --- include/gcc/x86/ck_pr.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/include/gcc/x86/ck_pr.h b/include/gcc/x86/ck_pr.h index 2ed3e38..30e2430 100644 --- a/include/gcc/x86/ck_pr.h +++ b/include/gcc/x86/ck_pr.h @@ -114,16 +114,16 @@ CK_PR_FAS_S(8, uint8_t, "xchgb") #undef CK_PR_FAS_S #undef CK_PR_FAS -#define CK_PR_LOAD(S, M, T, C, I) \ - CK_CC_INLINE static T \ - ck_pr_load_##S(const M *target) \ - { \ - T r; \ - __asm__ __volatile__(I " %1, %0" \ - : "=q" (r) \ - : "m" (*(C *)target) \ - : "memory"); \ - return (r); \ +#define CK_PR_LOAD(S, M, T, C, I) \ + CK_CC_INLINE static T \ + ck_pr_load_##S(const M *target) \ + { \ + T r; \ + __asm__ __volatile__(I " %1, %0" \ + : "=q" (r) \ + : "m" (*(const C *)target) \ + : "memory"); \ + return (r); \ } CK_PR_LOAD(ptr, void, void *, char, "movl") From 959e5fd744a02a6bd2d3c18643c55d00b0fd6131 Mon Sep 17 00:00:00 2001 From: Samy Al Bahra Date: Sun, 1 Mar 2015 13:52:11 -0500 Subject: [PATCH 06/14] regressions/ck_epoch: -Wcast-qual clean-up. --- regressions/ck_epoch/validate/ck_epoch_synchronize.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/regressions/ck_epoch/validate/ck_epoch_synchronize.c b/regressions/ck_epoch/validate/ck_epoch_synchronize.c index 3ce2de8..88fdf76 100644 --- a/regressions/ck_epoch/validate/ck_epoch_synchronize.c +++ b/regressions/ck_epoch/validate/ck_epoch_synchronize.c @@ -88,13 +88,7 @@ read_thread(void *unused CK_CC_UNUSED) unsigned int j; ck_epoch_record_t record CK_CC_CACHELINE; ck_stack_entry_t *cursor; - - /* - * This is redundant post-incremented in order to silence some - * irrelevant GCC warnings. It is volatile in order to prevent - * elimination. - */ - volatile ck_stack_entry_t *n; + ck_stack_entry_t *n; ck_epoch_register(&stack_epoch, &record); @@ -121,9 +115,7 @@ read_thread(void *unused CK_CC_UNUSED) continue; n = CK_STACK_NEXT(cursor); - - /* Force n use. */ - j += ((uintptr_t)(void *)n & 0) + 1; + j += ck_pr_load_ptr(&n) != NULL; } ck_epoch_end(&stack_epoch, &record); From ea567fc58aa969b9d3351783cbb92f88e5242fe1 Mon Sep 17 00:00:00 2001 From: Samy Al Bahra Date: Sun, 1 Mar 2015 14:01:28 -0500 Subject: [PATCH 07/14] regressions/ck_epoch: Additional -Wcast-qual clean-up. --- regressions/ck_epoch/validate/ck_epoch_poll.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/regressions/ck_epoch/validate/ck_epoch_poll.c b/regressions/ck_epoch/validate/ck_epoch_poll.c index 86cdbb4..ca8d942 100644 --- a/regressions/ck_epoch/validate/ck_epoch_poll.c +++ b/regressions/ck_epoch/validate/ck_epoch_poll.c @@ -87,14 +87,7 @@ read_thread(void *unused CK_CC_UNUSED) { unsigned int j; ck_epoch_record_t record CK_CC_CACHELINE; - ck_stack_entry_t *cursor; - - /* - * This is redundant post-incremented in order to silence some - * irrelevant GCC warnings. It is volatile in order to prevent - * elimination. - */ - volatile ck_stack_entry_t *n; + ck_stack_entry_t *cursor, *n; ck_epoch_register(&stack_epoch, &record); @@ -121,9 +114,7 @@ read_thread(void *unused CK_CC_UNUSED) continue; n = CK_STACK_NEXT(cursor); - - /* Force n use. */ - j += ((uintptr_t)(void *)n & 0) + 1; + j += ck_pr_load_ptr(&n) != NULL; } ck_epoch_end(&stack_epoch, &record); From a6ac5b81fb084501e3ffcbcd95002735e248572e Mon Sep 17 00:00:00 2001 From: Samy Al Bahra Date: Sun, 1 Mar 2015 14:01:51 -0500 Subject: [PATCH 08/14] x86_64: Add const qualifier to load_ptr_2. --- include/gcc/x86_64/ck_pr.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/gcc/x86_64/ck_pr.h b/include/gcc/x86_64/ck_pr.h index 22ba76a..fd9db31 100644 --- a/include/gcc/x86_64/ck_pr.h +++ b/include/gcc/x86_64/ck_pr.h @@ -167,7 +167,7 @@ ck_pr_load_64_2(const uint64_t target[2], uint64_t v[2]) } CK_CC_INLINE static void -ck_pr_load_ptr_2(void *t, void *v) +ck_pr_load_ptr_2(const void *t, void *v) { ck_pr_load_64_2(t, v); return; From ae3a579216f24ff19304bed9d95a4ee2e75da27b Mon Sep 17 00:00:00 2001 From: Samy Al Bahra Date: Sun, 1 Mar 2015 14:02:35 -0500 Subject: [PATCH 09/14] ppc*: -Wcast-qual clean-up. --- include/gcc/ppc/ck_pr.h | 20 ++++++++++---------- include/gcc/ppc64/ck_pr.h | 20 ++++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/include/gcc/ppc/ck_pr.h b/include/gcc/ppc/ck_pr.h index a1b98f5..683c329 100644 --- a/include/gcc/ppc/ck_pr.h +++ b/include/gcc/ppc/ck_pr.h @@ -82,16 +82,16 @@ CK_PR_FENCE(release, "lwsync") #undef CK_PR_FENCE -#define CK_PR_LOAD(S, M, T, C, I) \ - CK_CC_INLINE static T \ - ck_pr_load_##S(const M *target) \ - { \ - T r; \ - __asm__ __volatile__(I "%U1%X1 %0, %1" \ - : "=r" (r) \ - : "m" (*(C *)target) \ - : "memory"); \ - return (r); \ +#define CK_PR_LOAD(S, M, T, C, I) \ + CK_CC_INLINE static T \ + ck_pr_load_##S(const M *target) \ + { \ + T r; \ + __asm__ __volatile__(I "%U1%X1 %0, %1" \ + : "=r" (r) \ + : "m" (*(const C *)target) \ + : "memory"); \ + return (r); \ } CK_PR_LOAD(ptr, void, void *, uint32_t, "lwz") diff --git a/include/gcc/ppc64/ck_pr.h b/include/gcc/ppc64/ck_pr.h index 69da1b9..90e8ded 100644 --- a/include/gcc/ppc64/ck_pr.h +++ b/include/gcc/ppc64/ck_pr.h @@ -85,16 +85,16 @@ CK_PR_FENCE(release, "lwsync") #undef CK_PR_FENCE -#define CK_PR_LOAD(S, M, T, C, I) \ - CK_CC_INLINE static T \ - ck_pr_load_##S(const M *target) \ - { \ - T r; \ - __asm__ __volatile__(I "%U1%X1 %0, %1" \ - : "=r" (r) \ - : "m" (*(C *)target) \ - : "memory"); \ - return (r); \ +#define CK_PR_LOAD(S, M, T, C, I) \ + CK_CC_INLINE static T \ + ck_pr_load_##S(const M *target) \ + { \ + T r; \ + __asm__ __volatile__(I "%U1%X1 %0, %1" \ + : "=r" (r) \ + : "m" (*(const C *)target) \ + : "memory"); \ + return (r); \ } CK_PR_LOAD(ptr, void, void *, uint64_t, "ld") From 0dfd145aa6fe65aa9835960c89f80df066b5b949 Mon Sep 17 00:00:00 2001 From: Samy Al Bahra Date: Sun, 1 Mar 2015 14:06:02 -0500 Subject: [PATCH 10/14] whitespace: Update Copyright messages. --- include/ck_array.h | 2 +- include/ck_backoff.h | 2 +- include/ck_barrier.h | 2 +- include/ck_bitmap.h | 2 +- include/ck_brlock.h | 2 +- include/ck_bytelock.h | 2 +- include/ck_cc.h | 2 +- include/ck_cohort.h | 2 +- include/ck_elide.h | 2 +- include/ck_epoch.h | 2 +- include/ck_fifo.h | 2 +- include/ck_hp.h | 2 +- include/ck_hp_fifo.h | 2 +- include/ck_hp_stack.h | 2 +- include/ck_hs.h | 2 +- include/ck_ht.h | 2 +- include/ck_limits.h | 2 +- include/ck_malloc.h | 2 +- include/ck_pflock.h | 2 +- include/ck_pr.h | 2 +- include/ck_queue.h | 2 +- include/ck_rhs.h | 2 +- include/ck_ring.h | 2 +- include/ck_rwcohort.h | 2 +- include/ck_rwlock.h | 2 +- include/ck_sequence.h | 2 +- include/ck_spinlock.h | 2 +- include/ck_stack.h | 2 +- include/ck_stdint.h | 2 +- include/gcc/arm/ck_pr.h | 4 ++-- include/gcc/ck_cc.h | 2 +- include/gcc/ppc/ck_pr.h | 2 +- include/gcc/ppc64/ck_pr.h | 2 +- include/gcc/x86/ck_pr.h | 2 +- include/gcc/x86_64/ck_pr.h | 2 +- include/gcc/x86_64/ck_pr_rtm.h | 2 +- include/spinlock/anderson.h | 2 +- include/spinlock/cas.h | 2 +- include/spinlock/clh.h | 2 +- include/spinlock/dec.h | 2 +- include/spinlock/fas.h | 2 +- include/spinlock/hclh.h | 4 ++-- include/spinlock/mcs.h | 2 +- include/spinlock/ticket.h | 2 +- regressions/ck_backoff/validate/validate.c | 2 +- regressions/ck_barrier/validate/barrier_centralized.c | 2 +- regressions/ck_barrier/validate/barrier_combining.c | 2 +- regressions/ck_barrier/validate/barrier_dissemination.c | 2 +- regressions/ck_barrier/validate/barrier_mcs.c | 2 +- regressions/ck_barrier/validate/barrier_tournament.c | 2 +- regressions/ck_bitmap/validate/serial.c | 2 +- regressions/ck_brlock/benchmark/latency.c | 2 +- regressions/ck_brlock/benchmark/throughput.c | 2 +- regressions/ck_brlock/validate/validate.c | 2 +- regressions/ck_bytelock/benchmark/latency.c | 2 +- regressions/ck_bytelock/validate/validate.c | 2 +- regressions/ck_cohort/benchmark/throughput.c | 2 +- regressions/ck_cohort/validate/validate.c | 2 +- regressions/ck_epoch/validate/ck_epoch_poll.c | 2 +- regressions/ck_epoch/validate/ck_epoch_synchronize.c | 2 +- regressions/ck_epoch/validate/ck_stack.c | 2 +- regressions/ck_fifo/benchmark/latency.c | 2 +- regressions/ck_fifo/validate/ck_fifo_mpmc.c | 2 +- regressions/ck_fifo/validate/ck_fifo_spsc.c | 2 +- regressions/ck_hp/benchmark/fifo_latency.c | 2 +- regressions/ck_hp/benchmark/stack_latency.c | 2 +- regressions/ck_hp/validate/ck_hp_fifo.c | 2 +- regressions/ck_hp/validate/ck_hp_fifo_donner.c | 2 +- regressions/ck_hp/validate/ck_hp_stack.c | 2 +- regressions/ck_hp/validate/nbds_haz_test.c | 2 +- regressions/ck_hp/validate/serial.c | 2 +- regressions/ck_ht/benchmark/parallel_bytestring.c | 2 +- regressions/ck_ht/benchmark/parallel_direct.c | 2 +- regressions/ck_ht/benchmark/serial.c | 2 +- regressions/ck_ht/validate/serial.c | 2 +- regressions/ck_pflock/benchmark/latency.c | 2 +- regressions/ck_pflock/benchmark/throughput.c | 2 +- regressions/ck_pflock/validate/validate.c | 2 +- regressions/ck_queue/validate/ck_list.c | 2 +- regressions/ck_queue/validate/ck_slist.c | 2 +- regressions/ck_queue/validate/ck_stailq.c | 2 +- regressions/ck_ring/validate/ck_ring_spmc.c | 2 +- regressions/ck_ring/validate/ck_ring_spmc_template.c | 2 +- regressions/ck_ring/validate/ck_ring_spsc.c | 2 +- regressions/ck_rwcohort/benchmark/latency.h | 2 +- regressions/ck_rwcohort/benchmark/throughput.h | 2 +- regressions/ck_rwcohort/validate/validate.h | 2 +- regressions/ck_rwlock/benchmark/latency.c | 2 +- regressions/ck_rwlock/benchmark/throughput.c | 2 +- regressions/ck_rwlock/validate/validate.c | 2 +- regressions/ck_sequence/benchmark/ck_sequence.c | 2 +- regressions/ck_sequence/validate/ck_sequence.c | 2 +- regressions/ck_spinlock/benchmark/latency.h | 2 +- regressions/ck_spinlock/validate/validate.h | 2 +- regressions/ck_stack/benchmark/latency.c | 2 +- regressions/ck_stack/validate/pop.c | 2 +- regressions/ck_stack/validate/push.c | 2 +- regressions/ck_stack/validate/serial.c | 2 +- regressions/ck_swlock/benchmark/latency.c | 2 +- regressions/ck_swlock/benchmark/throughput.c | 2 +- regressions/ck_tflock/benchmark/latency.c | 2 +- regressions/ck_tflock/benchmark/throughput.c | 2 +- regressions/ck_tflock/validate/validate.c | 2 +- regressions/common.h | 2 +- src/ck_array.c | 2 +- src/ck_barrier_centralized.c | 2 +- src/ck_barrier_combining.c | 2 +- src/ck_barrier_dissemination.c | 2 +- src/ck_barrier_mcs.c | 2 +- src/ck_barrier_tournament.c | 2 +- src/ck_epoch.c | 2 +- src/ck_hp.c | 2 +- src/ck_hs.c | 2 +- src/ck_ht.c | 2 +- src/ck_ht_hash.h | 2 +- src/ck_internal.h | 2 +- src/ck_rhs.c | 4 ++-- 117 files changed, 120 insertions(+), 120 deletions(-) diff --git a/include/ck_array.h b/include/ck_array.h index dcde6bc..69eb4d0 100644 --- a/include/ck_array.h +++ b/include/ck_array.h @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 Samy Al Bahra + * Copyright 2013-2015 Samy Al Bahra * Copyright 2013-2014 AppNexus, Inc. * All rights reserved. * diff --git a/include/ck_backoff.h b/include/ck_backoff.h index cf3045c..2861c03 100644 --- a/include/ck_backoff.h +++ b/include/ck_backoff.h @@ -1,5 +1,5 @@ /* - * Copyright 2009-2014 Samy Al Bahra. + * Copyright 2009-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_barrier.h b/include/ck_barrier.h index 2f7acdd..1013973 100644 --- a/include/ck_barrier.h +++ b/include/ck_barrier.h @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/include/ck_bitmap.h b/include/ck_bitmap.h index 96a8fe9..5f229f2 100644 --- a/include/ck_bitmap.h +++ b/include/ck_bitmap.h @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * Copyright 2012-2014 AppNexus, Inc. * Copyright 2014 Paul Khuong. * All rights reserved. diff --git a/include/ck_brlock.h b/include/ck_brlock.h index b45e1b8..bbfc4e5 100644 --- a/include/ck_brlock.h +++ b/include/ck_brlock.h @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_bytelock.h b/include/ck_bytelock.h index 6755762..06c5c0e 100644 --- a/include/ck_bytelock.h +++ b/include/ck_bytelock.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_cc.h b/include/ck_cc.h index 68221f8..75dd92a 100644 --- a/include/ck_cc.h +++ b/include/ck_cc.h @@ -1,5 +1,5 @@ /* - * Copyright 2009-2014 Samy Al Bahra. + * Copyright 2009-2015 Samy Al Bahra. * Copyright 2014 Paul Khuong. * All rights reserved. * diff --git a/include/ck_cohort.h b/include/ck_cohort.h index 4bfcfe2..719c059 100644 --- a/include/ck_cohort.h +++ b/include/ck_cohort.h @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 Samy Al Bahra. + * Copyright 2013-2015 Samy Al Bahra. * Copyright 2013 Brendon Scheinman. * All rights reserved. * diff --git a/include/ck_elide.h b/include/ck_elide.h index 59d17c5..a6aca22 100644 --- a/include/ck_elide.h +++ b/include/ck_elide.h @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 Samy Al Bahra. + * Copyright 2013-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_epoch.h b/include/ck_epoch.h index ecfd173..72b2307 100644 --- a/include/ck_epoch.h +++ b/include/ck_epoch.h @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_fifo.h b/include/ck_fifo.h index a09a80d..49c7a8a 100644 --- a/include/ck_fifo.h +++ b/include/ck_fifo.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/include/ck_hp.h b/include/ck_hp.h index 7f503de..bbd98e7 100644 --- a/include/ck_hp.h +++ b/include/ck_hp.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_hp_fifo.h b/include/ck_hp_fifo.h index 96ffa5e..9d4c682 100644 --- a/include/ck_hp_fifo.h +++ b/include/ck_hp_fifo.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/include/ck_hp_stack.h b/include/ck_hp_stack.h index 3a14faa..b41297b 100644 --- a/include/ck_hp_stack.h +++ b/include/ck_hp_stack.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_hs.h b/include/ck_hs.h index e37918c..041b4fe 100644 --- a/include/ck_hs.h +++ b/include/ck_hs.h @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_ht.h b/include/ck_ht.h index cb8e67d..f58a925 100644 --- a/include/ck_ht.h +++ b/include/ck_ht.h @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_limits.h b/include/ck_limits.h index b08e4a7..29b8f13 100644 --- a/include/ck_limits.h +++ b/include/ck_limits.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_malloc.h b/include/ck_malloc.h index a623e1a..3df32f4 100644 --- a/include/ck_malloc.h +++ b/include/ck_malloc.h @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_pflock.h b/include/ck_pflock.h index 52c232a..3474127 100644 --- a/include/ck_pflock.h +++ b/include/ck_pflock.h @@ -1,6 +1,6 @@ /* * Copyright 2013 John Wittrock. - * Copyright 2013-2014 Samy Al Bahra. + * Copyright 2013-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_pr.h b/include/ck_pr.h index af4159e..3ceea4c 100644 --- a/include/ck_pr.h +++ b/include/ck_pr.h @@ -1,5 +1,5 @@ /* - * Copyright 2009-2014 Samy Al Bahra. + * Copyright 2009-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/include/ck_queue.h b/include/ck_queue.h index f617b97..6603081 100644 --- a/include/ck_queue.h +++ b/include/ck_queue.h @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_rhs.h b/include/ck_rhs.h index 4754da6..f1d2a53 100644 --- a/include/ck_rhs.h +++ b/include/ck_rhs.h @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_ring.h b/include/ck_ring.h index c70915c..6a414b8 100644 --- a/include/ck_ring.h +++ b/include/ck_ring.h @@ -1,5 +1,5 @@ /* - * Copyright 2009-2014 Samy Al Bahra. + * Copyright 2009-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_rwcohort.h b/include/ck_rwcohort.h index c9b5d2a..9fd25af 100644 --- a/include/ck_rwcohort.h +++ b/include/ck_rwcohort.h @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 Samy Al Bahra. + * Copyright 2013-2015 Samy Al Bahra. * Copyright 2013 Brendon Scheinman. * All rights reserved. * diff --git a/include/ck_rwlock.h b/include/ck_rwlock.h index 89a006a..3824609 100644 --- a/include/ck_rwlock.h +++ b/include/ck_rwlock.h @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_sequence.h b/include/ck_sequence.h index c5ca193..733a7d0 100644 --- a/include/ck_sequence.h +++ b/include/ck_sequence.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_spinlock.h b/include/ck_spinlock.h index 3e07b77..94ec290 100644 --- a/include/ck_spinlock.h +++ b/include/ck_spinlock.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_stack.h b/include/ck_stack.h index 21d3f0f..9541adf 100644 --- a/include/ck_stack.h +++ b/include/ck_stack.h @@ -1,5 +1,5 @@ /* - * Copyright 2009-2014 Samy Al Bahra. + * Copyright 2009-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/ck_stdint.h b/include/ck_stdint.h index e62cafa..92273bc 100644 --- a/include/ck_stdint.h +++ b/include/ck_stdint.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/gcc/arm/ck_pr.h b/include/gcc/arm/ck_pr.h index d2a34e1..65ed515 100644 --- a/include/gcc/arm/ck_pr.h +++ b/include/gcc/arm/ck_pr.h @@ -1,6 +1,6 @@ /* - * Copyright 2009-2014 Samy Al Bahra. - * Copyright 2013-2014 Olivier Houchard. + * Copyright 2009-2015 Samy Al Bahra. + * Copyright 2013-2015 Olivier Houchard. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/gcc/ck_cc.h b/include/gcc/ck_cc.h index 084e7bf..129c1b1 100644 --- a/include/gcc/ck_cc.h +++ b/include/gcc/ck_cc.h @@ -1,5 +1,5 @@ /* - * Copyright 2009-2014 Samy Al Bahra. + * Copyright 2009-2015 Samy Al Bahra. * Copyright 2014 Paul Khuong. * All rights reserved. * diff --git a/include/gcc/ppc/ck_pr.h b/include/gcc/ppc/ck_pr.h index 683c329..e74a886 100644 --- a/include/gcc/ppc/ck_pr.h +++ b/include/gcc/ppc/ck_pr.h @@ -1,5 +1,5 @@ /* - * Copyright 2009-2014 Samy Al Bahra. + * Copyright 2009-2015 Samy Al Bahra. * Copyright 2012 João Fernandes. * All rights reserved. * diff --git a/include/gcc/ppc64/ck_pr.h b/include/gcc/ppc64/ck_pr.h index 90e8ded..2876690 100644 --- a/include/gcc/ppc64/ck_pr.h +++ b/include/gcc/ppc64/ck_pr.h @@ -1,5 +1,5 @@ /* - * Copyright 2009-2014 Samy Al Bahra. + * Copyright 2009-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/gcc/x86/ck_pr.h b/include/gcc/x86/ck_pr.h index 30e2430..4c50744 100644 --- a/include/gcc/x86/ck_pr.h +++ b/include/gcc/x86/ck_pr.h @@ -1,5 +1,5 @@ /* - * Copyright 2009-2014 Samy Al Bahra. + * Copyright 2009-2015 Samy Al Bahra. * Copyright 2011 Devon H. O'Dell * All rights reserved. * diff --git a/include/gcc/x86_64/ck_pr.h b/include/gcc/x86_64/ck_pr.h index fd9db31..5dfa626 100644 --- a/include/gcc/x86_64/ck_pr.h +++ b/include/gcc/x86_64/ck_pr.h @@ -1,5 +1,5 @@ /* - * Copyright 2009-2014 Samy Al Bahra. + * Copyright 2009-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/gcc/x86_64/ck_pr_rtm.h b/include/gcc/x86_64/ck_pr_rtm.h index eafa325..552de5a 100644 --- a/include/gcc/x86_64/ck_pr_rtm.h +++ b/include/gcc/x86_64/ck_pr_rtm.h @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 Samy Al Bahra. + * Copyright 2013-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/spinlock/anderson.h b/include/spinlock/anderson.h index 7800b2d..8b2cf87 100644 --- a/include/spinlock/anderson.h +++ b/include/spinlock/anderson.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/spinlock/cas.h b/include/spinlock/cas.h index acad3d5..bda2bb3 100644 --- a/include/spinlock/cas.h +++ b/include/spinlock/cas.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/spinlock/clh.h b/include/spinlock/clh.h index eb98b1d..4252ec3 100644 --- a/include/spinlock/clh.h +++ b/include/spinlock/clh.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/spinlock/dec.h b/include/spinlock/dec.h index 8c1e000..350bbf2 100644 --- a/include/spinlock/dec.h +++ b/include/spinlock/dec.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/spinlock/fas.h b/include/spinlock/fas.h index 946a9ad..6886e35 100644 --- a/include/spinlock/fas.h +++ b/include/spinlock/fas.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/spinlock/hclh.h b/include/spinlock/hclh.h index 0eac6b9..dbae512 100644 --- a/include/spinlock/hclh.h +++ b/include/spinlock/hclh.h @@ -1,6 +1,6 @@ /* - * Copyright 2013-2014 Olivier Houchard - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2013-2015 Olivier Houchard + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/spinlock/mcs.h b/include/spinlock/mcs.h index 1a61e82..54cddca 100644 --- a/include/spinlock/mcs.h +++ b/include/spinlock/mcs.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/include/spinlock/ticket.h b/include/spinlock/ticket.h index 1fc641a..703feb7 100644 --- a/include/spinlock/ticket.h +++ b/include/spinlock/ticket.h @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_backoff/validate/validate.c b/regressions/ck_backoff/validate/validate.c index d48662b..137d48e 100644 --- a/regressions/ck_backoff/validate/validate.c +++ b/regressions/ck_backoff/validate/validate.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_barrier/validate/barrier_centralized.c b/regressions/ck_barrier/validate/barrier_centralized.c index 64ff54c..551913a 100644 --- a/regressions/ck_barrier/validate/barrier_centralized.c +++ b/regressions/ck_barrier/validate/barrier_centralized.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_barrier/validate/barrier_combining.c b/regressions/ck_barrier/validate/barrier_combining.c index 10aa701..98fa0cf 100644 --- a/regressions/ck_barrier/validate/barrier_combining.c +++ b/regressions/ck_barrier/validate/barrier_combining.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/regressions/ck_barrier/validate/barrier_dissemination.c b/regressions/ck_barrier/validate/barrier_dissemination.c index eea4f69..e8acc10 100644 --- a/regressions/ck_barrier/validate/barrier_dissemination.c +++ b/regressions/ck_barrier/validate/barrier_dissemination.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/regressions/ck_barrier/validate/barrier_mcs.c b/regressions/ck_barrier/validate/barrier_mcs.c index 3c5cd01..c2e3f2b 100644 --- a/regressions/ck_barrier/validate/barrier_mcs.c +++ b/regressions/ck_barrier/validate/barrier_mcs.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/regressions/ck_barrier/validate/barrier_tournament.c b/regressions/ck_barrier/validate/barrier_tournament.c index f23c997..f51dab8 100644 --- a/regressions/ck_barrier/validate/barrier_tournament.c +++ b/regressions/ck_barrier/validate/barrier_tournament.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/regressions/ck_bitmap/validate/serial.c b/regressions/ck_bitmap/validate/serial.c index ecc5258..ba52588 100644 --- a/regressions/ck_bitmap/validate/serial.c +++ b/regressions/ck_bitmap/validate/serial.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * Copyright 2012-2014 AppNexus, Inc. * Copyright 2012 Shreyas Prasad. * Copyright 2014 Paul Khuong. diff --git a/regressions/ck_brlock/benchmark/latency.c b/regressions/ck_brlock/benchmark/latency.c index 9360c4b..4db8e26 100644 --- a/regressions/ck_brlock/benchmark/latency.c +++ b/regressions/ck_brlock/benchmark/latency.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_brlock/benchmark/throughput.c b/regressions/ck_brlock/benchmark/throughput.c index a4d324e..27ed803 100644 --- a/regressions/ck_brlock/benchmark/throughput.c +++ b/regressions/ck_brlock/benchmark/throughput.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_brlock/validate/validate.c b/regressions/ck_brlock/validate/validate.c index 810a1bd..20f285a 100644 --- a/regressions/ck_brlock/validate/validate.c +++ b/regressions/ck_brlock/validate/validate.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_bytelock/benchmark/latency.c b/regressions/ck_bytelock/benchmark/latency.c index 38a3fc9..be30165 100644 --- a/regressions/ck_bytelock/benchmark/latency.c +++ b/regressions/ck_bytelock/benchmark/latency.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_bytelock/validate/validate.c b/regressions/ck_bytelock/validate/validate.c index 34d7bed..c164ce4 100644 --- a/regressions/ck_bytelock/validate/validate.c +++ b/regressions/ck_bytelock/validate/validate.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_cohort/benchmark/throughput.c b/regressions/ck_cohort/benchmark/throughput.c index 6c3833c..50ede34 100644 --- a/regressions/ck_cohort/benchmark/throughput.c +++ b/regressions/ck_cohort/benchmark/throughput.c @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 Samy Al Bahra. + * Copyright 2013-2015 Samy Al Bahra. * Copyright 2013 Brendon Scheinman. * All rights reserved. * diff --git a/regressions/ck_cohort/validate/validate.c b/regressions/ck_cohort/validate/validate.c index e022fdb..c2453c4 100644 --- a/regressions/ck_cohort/validate/validate.c +++ b/regressions/ck_cohort/validate/validate.c @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 Samy Al Bahra. + * Copyright 2013-2015 Samy Al Bahra. * Copyright 2013 Brendon Scheinman. * All rights reserved. * diff --git a/regressions/ck_epoch/validate/ck_epoch_poll.c b/regressions/ck_epoch/validate/ck_epoch_poll.c index ca8d942..2533764 100644 --- a/regressions/ck_epoch/validate/ck_epoch_poll.c +++ b/regressions/ck_epoch/validate/ck_epoch_poll.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_epoch/validate/ck_epoch_synchronize.c b/regressions/ck_epoch/validate/ck_epoch_synchronize.c index 88fdf76..0b775a9 100644 --- a/regressions/ck_epoch/validate/ck_epoch_synchronize.c +++ b/regressions/ck_epoch/validate/ck_epoch_synchronize.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_epoch/validate/ck_stack.c b/regressions/ck_epoch/validate/ck_stack.c index 00356f8..11456d1 100644 --- a/regressions/ck_epoch/validate/ck_stack.c +++ b/regressions/ck_epoch/validate/ck_stack.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_fifo/benchmark/latency.c b/regressions/ck_fifo/benchmark/latency.c index 3c78b6f..267452f 100644 --- a/regressions/ck_fifo/benchmark/latency.c +++ b/regressions/ck_fifo/benchmark/latency.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_fifo/validate/ck_fifo_mpmc.c b/regressions/ck_fifo/validate/ck_fifo_mpmc.c index cbf4d93..89eb2f4 100644 --- a/regressions/ck_fifo/validate/ck_fifo_mpmc.c +++ b/regressions/ck_fifo/validate/ck_fifo_mpmc.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_fifo/validate/ck_fifo_spsc.c b/regressions/ck_fifo/validate/ck_fifo_spsc.c index c2ae16e..3d6c38c 100644 --- a/regressions/ck_fifo/validate/ck_fifo_spsc.c +++ b/regressions/ck_fifo/validate/ck_fifo_spsc.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_hp/benchmark/fifo_latency.c b/regressions/ck_hp/benchmark/fifo_latency.c index c32986b..77ee2a7 100644 --- a/regressions/ck_hp/benchmark/fifo_latency.c +++ b/regressions/ck_hp/benchmark/fifo_latency.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_hp/benchmark/stack_latency.c b/regressions/ck_hp/benchmark/stack_latency.c index bdde7bd..c336de6 100644 --- a/regressions/ck_hp/benchmark/stack_latency.c +++ b/regressions/ck_hp/benchmark/stack_latency.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_hp/validate/ck_hp_fifo.c b/regressions/ck_hp/validate/ck_hp_fifo.c index 297041b..4454283 100644 --- a/regressions/ck_hp/validate/ck_hp_fifo.c +++ b/regressions/ck_hp/validate/ck_hp_fifo.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_hp/validate/ck_hp_fifo_donner.c b/regressions/ck_hp/validate/ck_hp_fifo_donner.c index a2f31c9..1b52a37 100644 --- a/regressions/ck_hp/validate/ck_hp_fifo_donner.c +++ b/regressions/ck_hp/validate/ck_hp_fifo_donner.c @@ -1,6 +1,6 @@ /* * Copyright 2012 Hendrik Donner - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_hp/validate/ck_hp_stack.c b/regressions/ck_hp/validate/ck_hp_stack.c index b028ce0..ad9b927 100644 --- a/regressions/ck_hp/validate/ck_hp_stack.c +++ b/regressions/ck_hp/validate/ck_hp_stack.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_hp/validate/nbds_haz_test.c b/regressions/ck_hp/validate/nbds_haz_test.c index a0346b4..cb06d36 100644 --- a/regressions/ck_hp/validate/nbds_haz_test.c +++ b/regressions/ck_hp/validate/nbds_haz_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_hp/validate/serial.c b/regressions/ck_hp/validate/serial.c index 0385686..fd31581 100644 --- a/regressions/ck_hp/validate/serial.c +++ b/regressions/ck_hp/validate/serial.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_ht/benchmark/parallel_bytestring.c b/regressions/ck_ht/benchmark/parallel_bytestring.c index 6458481..1f4dac8 100644 --- a/regressions/ck_ht/benchmark/parallel_bytestring.c +++ b/regressions/ck_ht/benchmark/parallel_bytestring.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_ht/benchmark/parallel_direct.c b/regressions/ck_ht/benchmark/parallel_direct.c index f9d7b47..74294b9 100644 --- a/regressions/ck_ht/benchmark/parallel_direct.c +++ b/regressions/ck_ht/benchmark/parallel_direct.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_ht/benchmark/serial.c b/regressions/ck_ht/benchmark/serial.c index 757e128..b9b1a28 100644 --- a/regressions/ck_ht/benchmark/serial.c +++ b/regressions/ck_ht/benchmark/serial.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_ht/validate/serial.c b/regressions/ck_ht/validate/serial.c index 3e85a61..729a44e 100644 --- a/regressions/ck_ht/validate/serial.c +++ b/regressions/ck_ht/validate/serial.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_pflock/benchmark/latency.c b/regressions/ck_pflock/benchmark/latency.c index 52236c5..a28c9dd 100644 --- a/regressions/ck_pflock/benchmark/latency.c +++ b/regressions/ck_pflock/benchmark/latency.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2013 John Wittrock. * All rights reserved. * diff --git a/regressions/ck_pflock/benchmark/throughput.c b/regressions/ck_pflock/benchmark/throughput.c index 6c0ed6c..429465f 100644 --- a/regressions/ck_pflock/benchmark/throughput.c +++ b/regressions/ck_pflock/benchmark/throughput.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2013 John Wittrock. * All rights reserved. * diff --git a/regressions/ck_pflock/validate/validate.c b/regressions/ck_pflock/validate/validate.c index 5a1c906..2551755 100644 --- a/regressions/ck_pflock/validate/validate.c +++ b/regressions/ck_pflock/validate/validate.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra, John Wittrock. + * Copyright 2011-2015 Samy Al Bahra, John Wittrock. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_queue/validate/ck_list.c b/regressions/ck_queue/validate/ck_list.c index 2a29480..daa48b1 100644 --- a/regressions/ck_queue/validate/ck_list.c +++ b/regressions/ck_queue/validate/ck_list.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_queue/validate/ck_slist.c b/regressions/ck_queue/validate/ck_slist.c index a26fe81..7adf2ef 100644 --- a/regressions/ck_queue/validate/ck_slist.c +++ b/regressions/ck_queue/validate/ck_slist.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_queue/validate/ck_stailq.c b/regressions/ck_queue/validate/ck_stailq.c index 1fafb0e..219e93f 100644 --- a/regressions/ck_queue/validate/ck_stailq.c +++ b/regressions/ck_queue/validate/ck_stailq.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_ring/validate/ck_ring_spmc.c b/regressions/ck_ring/validate/ck_ring_spmc.c index 9563a8f..161c0d8 100644 --- a/regressions/ck_ring/validate/ck_ring_spmc.c +++ b/regressions/ck_ring/validate/ck_ring_spmc.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_ring/validate/ck_ring_spmc_template.c b/regressions/ck_ring/validate/ck_ring_spmc_template.c index 8840653..bbc75c1 100644 --- a/regressions/ck_ring/validate/ck_ring_spmc_template.c +++ b/regressions/ck_ring/validate/ck_ring_spmc_template.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_ring/validate/ck_ring_spsc.c b/regressions/ck_ring/validate/ck_ring_spsc.c index b107c3c..910f7e6 100644 --- a/regressions/ck_ring/validate/ck_ring_spsc.c +++ b/regressions/ck_ring/validate/ck_ring_spsc.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_rwcohort/benchmark/latency.h b/regressions/ck_rwcohort/benchmark/latency.h index 42c323a..027a8b2 100644 --- a/regressions/ck_rwcohort/benchmark/latency.h +++ b/regressions/ck_rwcohort/benchmark/latency.h @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 Samy Al Bahra. + * Copyright 2013-2015 Samy Al Bahra. * Copyright 2013 Brendon Scheinman. * All rights reserved. * diff --git a/regressions/ck_rwcohort/benchmark/throughput.h b/regressions/ck_rwcohort/benchmark/throughput.h index 55b91a0..2870855 100644 --- a/regressions/ck_rwcohort/benchmark/throughput.h +++ b/regressions/ck_rwcohort/benchmark/throughput.h @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 Samy Al Bahra. + * Copyright 2013-2015 Samy Al Bahra. * Copyright 2013 Brendon Scheinman. * All rights reserved. * diff --git a/regressions/ck_rwcohort/validate/validate.h b/regressions/ck_rwcohort/validate/validate.h index 5aefa8a..8bc9a88 100644 --- a/regressions/ck_rwcohort/validate/validate.h +++ b/regressions/ck_rwcohort/validate/validate.h @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 Samy Al Bahra. + * Copyright 2013-2015 Samy Al Bahra. * Copything 2013 Brendon Scheinman. * All rights reserved. * diff --git a/regressions/ck_rwlock/benchmark/latency.c b/regressions/ck_rwlock/benchmark/latency.c index 34dc406..18213c6 100644 --- a/regressions/ck_rwlock/benchmark/latency.c +++ b/regressions/ck_rwlock/benchmark/latency.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_rwlock/benchmark/throughput.c b/regressions/ck_rwlock/benchmark/throughput.c index 908348d..f57fbd8 100644 --- a/regressions/ck_rwlock/benchmark/throughput.c +++ b/regressions/ck_rwlock/benchmark/throughput.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_rwlock/validate/validate.c b/regressions/ck_rwlock/validate/validate.c index de77d26..8a32e08 100644 --- a/regressions/ck_rwlock/validate/validate.c +++ b/regressions/ck_rwlock/validate/validate.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_sequence/benchmark/ck_sequence.c b/regressions/ck_sequence/benchmark/ck_sequence.c index de7af6d..f720c31 100644 --- a/regressions/ck_sequence/benchmark/ck_sequence.c +++ b/regressions/ck_sequence/benchmark/ck_sequence.c @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 Samy Al Bahra. + * Copyright 2013-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_sequence/validate/ck_sequence.c b/regressions/ck_sequence/validate/ck_sequence.c index 1f01931..a24ac05 100644 --- a/regressions/ck_sequence/validate/ck_sequence.c +++ b/regressions/ck_sequence/validate/ck_sequence.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_spinlock/benchmark/latency.h b/regressions/ck_spinlock/benchmark/latency.h index 51cc6cc..afadcd2 100644 --- a/regressions/ck_spinlock/benchmark/latency.h +++ b/regressions/ck_spinlock/benchmark/latency.h @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/regressions/ck_spinlock/validate/validate.h b/regressions/ck_spinlock/validate/validate.h index a0c9612..58ae3f7 100644 --- a/regressions/ck_spinlock/validate/validate.h +++ b/regressions/ck_spinlock/validate/validate.h @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_stack/benchmark/latency.c b/regressions/ck_stack/benchmark/latency.c index 1bca94c..867151c 100644 --- a/regressions/ck_stack/benchmark/latency.c +++ b/regressions/ck_stack/benchmark/latency.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_stack/validate/pop.c b/regressions/ck_stack/validate/pop.c index ec31a52..0d69d42 100644 --- a/regressions/ck_stack/validate/pop.c +++ b/regressions/ck_stack/validate/pop.c @@ -1,5 +1,5 @@ /* - * Copyright 2009-2014 Samy Al Bahra. + * Copyright 2009-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_stack/validate/push.c b/regressions/ck_stack/validate/push.c index f07b86c..2b3ea33 100644 --- a/regressions/ck_stack/validate/push.c +++ b/regressions/ck_stack/validate/push.c @@ -1,5 +1,5 @@ /* - * Copyright 2009-2014 Samy Al Bahra. + * Copyright 2009-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_stack/validate/serial.c b/regressions/ck_stack/validate/serial.c index c4bea18..eb667ca 100644 --- a/regressions/ck_stack/validate/serial.c +++ b/regressions/ck_stack/validate/serial.c @@ -1,5 +1,5 @@ /* - * Copyright 2009-2014 Samy Al Bahra. + * Copyright 2009-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_swlock/benchmark/latency.c b/regressions/ck_swlock/benchmark/latency.c index 7261546..73a9482 100644 --- a/regressions/ck_swlock/benchmark/latency.c +++ b/regressions/ck_swlock/benchmark/latency.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_swlock/benchmark/throughput.c b/regressions/ck_swlock/benchmark/throughput.c index fa3cf1c..5b05365 100644 --- a/regressions/ck_swlock/benchmark/throughput.c +++ b/regressions/ck_swlock/benchmark/throughput.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_tflock/benchmark/latency.c b/regressions/ck_tflock/benchmark/latency.c index 433a42a..fd77d44 100644 --- a/regressions/ck_tflock/benchmark/latency.c +++ b/regressions/ck_tflock/benchmark/latency.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_tflock/benchmark/throughput.c b/regressions/ck_tflock/benchmark/throughput.c index 2689842..41d22bd 100644 --- a/regressions/ck_tflock/benchmark/throughput.c +++ b/regressions/ck_tflock/benchmark/throughput.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/ck_tflock/validate/validate.c b/regressions/ck_tflock/validate/validate.c index 1b49e3b..22e9e65 100644 --- a/regressions/ck_tflock/validate/validate.c +++ b/regressions/ck_tflock/validate/validate.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/regressions/common.h b/regressions/common.h index 4322a07..6d76ddc 100644 --- a/regressions/common.h +++ b/regressions/common.h @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ck_array.c b/src/ck_array.c index f7bb87a..2caefd3 100644 --- a/src/ck_array.c +++ b/src/ck_array.c @@ -1,5 +1,5 @@ /* - * Copyright 2013-2014 Samy Al Bahra + * Copyright 2013-2015 Samy Al Bahra * Copyright 2013-2014 AppNexus, Inc. * All rights reserved. * diff --git a/src/ck_barrier_centralized.c b/src/ck_barrier_centralized.c index a21ef3e..509807e 100644 --- a/src/ck_barrier_centralized.c +++ b/src/ck_barrier_centralized.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/src/ck_barrier_combining.c b/src/ck_barrier_combining.c index 41291bb..3ee72fd 100644 --- a/src/ck_barrier_combining.c +++ b/src/ck_barrier_combining.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/src/ck_barrier_dissemination.c b/src/ck_barrier_dissemination.c index dd08923..94c4aa5 100644 --- a/src/ck_barrier_dissemination.c +++ b/src/ck_barrier_dissemination.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/src/ck_barrier_mcs.c b/src/ck_barrier_mcs.c index 4dc8502..85ba4cf 100644 --- a/src/ck_barrier_mcs.c +++ b/src/ck_barrier_mcs.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/src/ck_barrier_tournament.c b/src/ck_barrier_tournament.c index 0f76c6f..ccb23b6 100644 --- a/src/ck_barrier_tournament.c +++ b/src/ck_barrier_tournament.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/src/ck_epoch.c b/src/ck_epoch.c index 01320ee..7dbad0c 100644 --- a/src/ck_epoch.c +++ b/src/ck_epoch.c @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ck_hp.c b/src/ck_hp.c index a39ff58..6d87dd9 100644 --- a/src/ck_hp.c +++ b/src/ck_hp.c @@ -1,5 +1,5 @@ /* - * Copyright 2010-2014 Samy Al Bahra. + * Copyright 2010-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ck_hs.c b/src/ck_hs.c index 09191c7..3b45afb 100644 --- a/src/ck_hs.c +++ b/src/ck_hs.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ck_ht.c b/src/ck_ht.c index 324a03d..7262be5 100644 --- a/src/ck_ht.c +++ b/src/ck_ht.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ck_ht_hash.h b/src/ck_ht_hash.h index 5f0f604..08614a7 100644 --- a/src/ck_ht_hash.h +++ b/src/ck_ht_hash.h @@ -1,5 +1,5 @@ /* - * Copyright 2012-2014 Samy Al Bahra + * Copyright 2012-2015 Samy Al Bahra * Copyright 2011-2014 AppNexus, Inc. * * Redistribution and use in source and binary forms, with or without diff --git a/src/ck_internal.h b/src/ck_internal.h index ea51a6b..7aad3d7 100644 --- a/src/ck_internal.h +++ b/src/ck_internal.h @@ -1,5 +1,5 @@ /* - * Copyright 2011-2014 Samy Al Bahra. + * Copyright 2011-2015 Samy Al Bahra. * Copyright 2011 David Joseph. * All rights reserved. * diff --git a/src/ck_rhs.c b/src/ck_rhs.c index 966f575..3daa195 100644 --- a/src/ck_rhs.c +++ b/src/ck_rhs.c @@ -1,6 +1,6 @@ /* - * Copyright 2014 Olivier Houchard - * Copyright 2012-2014 Samy Al Bahra. + * Copyright 2014-2015 Olivier Houchard. + * Copyright 2012-2015 Samy Al Bahra. * All rights reserved. * * Redistribution and use in source and binary forms, with or without From b7817a3f96ba827bbe1d5de8b98096de15e673da Mon Sep 17 00:00:00 2001 From: Samy Al Bahra Date: Sun, 1 Mar 2015 14:08:49 -0500 Subject: [PATCH 11/14] git: .gitignore clean-up. Add additional intermediate files and remove duplicate entries. --- .gitignore | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2c6cb8b..737830f 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,8 @@ src/Makefile doc/Makefile build/Makefile .DS_Store +LOG +*.log *.html *.gz *.o @@ -35,10 +37,9 @@ regressions/ck_brlock/validate/validate regressions/ck_bytelock/benchmark/latency regressions/ck_bytelock/validate/validate regressions/ck_cohort/benchmark/ck_cohort.LATENCY -regressions/ck_cohort/benchmark/ck_cohort.LATENCY -regressions/ck_cohort/benchmark/ck_cohort.THROUGHPUT regressions/ck_cohort/benchmark/ck_cohort.THROUGHPUT regressions/ck_cohort/validate/validate +regressions/ck_epoch/validate/ck_epoch_call regressions/ck_epoch/validate/ck_epoch_poll regressions/ck_epoch/validate/ck_epoch_synchronize regressions/ck_epoch/validate/ck_stack @@ -55,6 +56,7 @@ regressions/ck_hp/validate/ck_hp_fifo_donner regressions/ck_hp/validate/ck_hp_stack regressions/ck_hp/validate/nbds_haz_test regressions/ck_hp/validate/serial +regressions/ck_hs/benchmark/apply regressions/ck_hs/benchmark/parallel_bytestring regressions/ck_hs/benchmark/parallel_bytestring.delete regressions/ck_hs/benchmark/serial From 22e00af6f59b62b0aa3060eaf8c7523ade14e891 Mon Sep 17 00:00:00 2001 From: Samy Al Bahra Date: Sun, 1 Mar 2015 16:36:37 -0500 Subject: [PATCH 12/14] ck_hs: Drop legacy atomic operations. --- src/ck_hs.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/ck_hs.c b/src/ck_hs.c index 3b45afb..9b33d37 100644 --- a/src/ck_hs.c +++ b/src/ck_hs.c @@ -94,6 +94,17 @@ struct ck_hs_map { void **entries; }; +static inline void +ck_hs_map_signal(struct ck_hs_map *map, unsigned long h) +{ + + h &= CK_HS_G_MASK; + ck_pr_store_uint(&map->generation[h], + map->generation[h] + 1); + ck_pr_fence_store(); + return; +} + void ck_hs_iterator_init(struct ck_hs_iterator *iterator) { @@ -575,8 +586,7 @@ ck_hs_gc(struct ck_hs *hs, unsigned long cycles, unsigned long seed) const void *insert = ck_hs_marshal(hs->mode, entry, h); ck_pr_store_ptr(first, insert); - ck_pr_inc_uint(&map->generation[h & CK_HS_G_MASK]); - ck_pr_fence_atomic_store(); + ck_hs_map_signal(map, h); ck_pr_store_ptr(slot, CK_HS_TOMBSTONE); } @@ -633,8 +643,7 @@ ck_hs_fas(struct ck_hs *hs, if (first != NULL) { ck_pr_store_ptr(first, insert); - ck_pr_inc_uint(&map->generation[h & CK_HS_G_MASK]); - ck_pr_fence_atomic_store(); + ck_hs_map_signal(map, h); ck_pr_store_ptr(slot, CK_HS_TOMBSTONE); } else { ck_pr_store_ptr(slot, insert); @@ -711,8 +720,7 @@ restart: ck_pr_store_ptr(first, insert); if (object != NULL) { - ck_pr_inc_uint(&map->generation[h & CK_HS_G_MASK]); - ck_pr_fence_atomic_store(); + ck_hs_map_signal(map, h); ck_pr_store_ptr(slot, CK_HS_TOMBSTONE); } } else { @@ -768,8 +776,7 @@ restart: * duplicate key. */ if (object != NULL) { - ck_pr_inc_uint(&map->generation[h & CK_HS_G_MASK]); - ck_pr_fence_atomic_store(); + ck_hs_map_signal(map, h); ck_pr_store_ptr(slot, CK_HS_TOMBSTONE); } } else { From e5711767d50c9530b6bf257363d7170875943f2d Mon Sep 17 00:00:00 2001 From: Samy Al Bahra Date: Sun, 1 Mar 2015 16:39:15 -0500 Subject: [PATCH 13/14] build: Bump version for next release. --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 6ec60a9..6df241a 100755 --- a/configure +++ b/configure @@ -34,7 +34,7 @@ WANT_PIC=yes P_PWD=`pwd` MAINTAINER='sbahra@repnop.org' -VERSION=${VERSION:-'0.4.5'} +VERSION=${VERSION:-'0.4.6'} VERSION_MAJOR='0' BUILD="$PWD/build/ck.build" PREFIX=${PREFIX:-"/usr/local"} From 887f4a510d98382f4a2e02127bd8f642bfadbf19 Mon Sep 17 00:00:00 2001 From: Phil Sorber Date: Sun, 1 Mar 2015 16:31:46 -0700 Subject: [PATCH 14/14] ck_ht: Fix build warnings on 32bit platforms. --- src/ck_ht.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ck_ht.c b/src/ck_ht.c index 7262be5..e3eed2f 100644 --- a/src/ck_ht.c +++ b/src/ck_ht.c @@ -141,7 +141,9 @@ static struct ck_ht_map * ck_ht_map_create(struct ck_ht *table, uint64_t entries) { struct ck_ht_map *map; - uint64_t size, n_entries, prefix; + uint64_t size; + uintptr_t prefix; + uint32_t n_entries; n_entries = ck_internal_power_2(entries); if (n_entries < CK_HT_BUCKET_LENGTH)