Revert "rx: fix rx_atomic warnings under Solaris" 15/13415/3
authorAndrew Deason <adeason@sinenomine.net>
Thu, 20 Dec 2018 20:37:31 +0000 (14:37 -0600)
committerBenjamin Kaduk <kaduk@mit.edu>
Mon, 14 Jan 2019 23:50:29 +0000 (18:50 -0500)
This reverts commit ae4ad509d35aab73936a1999410bd80bcd711393. While
that commit did fix the mentioned warnings on Solaris, it also changed
the size of rx_atomic_t. Our code in rx_stats.c assumes that an
rx_atomic_t is 4-bytes wide, and so changing the size of rx_atomic_t
broke our reporting for stats in the 'rx_stats' structure.

To fix this, revert that commit. This reintroduces the mentioned
warnings, but those warnings are reported for our atomic bit-op
functions, which are unused and will be removed by another commit.

Change-Id: Ie3e72cc06690d9f8de79e8f0274ea51079004c38
Reviewed-on: https://gerrit.openafs.org/13415
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

src/rx/rx_atomic.h

index e2375f5..df050e2 100644 (file)
@@ -330,14 +330,14 @@ typedef atomic_t rx_atomic_t;
 # endif
 
 #ifndef AFS_SUN510_ENV
-# define atomic_inc_ulong(X)    atomic_add_ulong((X), 1)
-# define atomic_inc_ulong_nv(X) atomic_add_ulong_nv((X), 1)
-# define atomic_dec_ulong(X)    atomic_add_ulong((X), -1)
-# define atomic_dec_ulong_nv(X) atomic_add_ulong_nv((X), -1)
+# define atomic_inc_32(X)    atomic_add_32((X), 1)
+# define atomic_inc_32_nv(X) atomic_add_32_nv((X), 1)
+# define atomic_dec_32(X)    atomic_add_32((X), -1)
+# define atomic_dec_32_nv(X) atomic_add_32_nv((X), -1)
 #endif
 
 typedef struct {
-    volatile ulong_t var;
+    volatile unsigned int var;
 } rx_atomic_t;
 
 static_inline void
@@ -352,37 +352,37 @@ rx_atomic_read(rx_atomic_t *atomic) {
 
 static_inline void
 rx_atomic_inc(rx_atomic_t *atomic) {
-    atomic_inc_ulong(&atomic->var);
+    atomic_inc_32(&atomic->var);
 }
 
 static_inline int
 rx_atomic_inc_and_read(rx_atomic_t *atomic) {
-    return atomic_inc_ulong_nv(&atomic->var);
+    return atomic_inc_32_nv(&atomic->var);
 }
 
 static_inline void
 rx_atomic_add(rx_atomic_t *atomic, int change) {
-    atomic_add_long(&atomic->var, change);
+    atomic_add_32(&atomic->var, change);
 }
 
 static_inline int
 rx_atomic_add_and_read(rx_atomic_t *atomic, int change) {
-    return atomic_add_long_nv(&atomic->var, change);
+    return atomic_add_32_nv(&atomic->var, change);
 }
 
 static_inline void
 rx_atomic_dec(rx_atomic_t *atomic) {
-    atomic_dec_ulong(&atomic->var);
+    atomic_dec_32(&atomic->var);
 }
 
 static_inline int
 rx_atomic_dec_and_read(rx_atomic_t *atomic) {
-    return atomic_dec_ulong_nv(&atomic->var);
+    return atomic_dec_32_nv(&atomic->var);
 }
 
 static_inline void
 rx_atomic_sub(rx_atomic_t *atomic, int change) {
-    atomic_add_long(&atomic->var, 0 - change);
+    atomic_add_32(&atomic->var, 0 - change);
 }
 
 static_inline int
@@ -392,12 +392,12 @@ rx_atomic_test_bit(rx_atomic_t *atomic, int bit) {
 
 static_inline void
 rx_atomic_set_bit(rx_atomic_t *atomic, int bit) {
-    atomic_or_ulong(&atomic->var, 1<<bit);
+    atomic_or_32(&atomic->var, 1<<bit);
 }
 
 static_inline void
 rx_atomic_clear_bit(rx_atomic_t *atomic, int bit) {
-    atomic_and_ulong(&atomic->var, ~(1<<bit));
+    atomic_and_32(&atomic->var, ~(1<<bit));
 }
 
 static_inline int