diff options
Diffstat (limited to 'usr/src/uts/sun4/os/memnode.c')
-rw-r--r-- | usr/src/uts/sun4/os/memnode.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/usr/src/uts/sun4/os/memnode.c b/usr/src/uts/sun4/os/memnode.c index 9d03e14ad9..bbee6dd2c6 100644 --- a/usr/src/uts/sun4/os/memnode.c +++ b/usr/src/uts/sun4/os/memnode.c @@ -83,7 +83,7 @@ mem_node_add_slice(pfn_t start, pfn_t end) mnode = PFN_2_MEM_NODE(start); ASSERT(mnode < max_mem_nodes); - if (cas32((uint32_t *)&mem_node_config[mnode].exists, 0, 1)) { + if (atomic_cas_32((uint32_t *)&mem_node_config[mnode].exists, 0, 1)) { /* * Add slice to existing node. */ @@ -98,7 +98,8 @@ mem_node_add_slice(pfn_t start, pfn_t end) do { oldmask = memnodes_mask; newmask = memnodes_mask | (1ull << mnode); - } while (cas64(&memnodes_mask, oldmask, newmask) != oldmask); + } while (atomic_cas_64(&memnodes_mask, oldmask, newmask) != + oldmask); } /* * Let the common lgrp framework know about the new memory @@ -158,7 +159,7 @@ mem_node_del_slice(pfn_t start, pfn_t end) do { omask = memnodes_mask; nmask = omask & ~(1ull << mnode); - } while (cas64(&memnodes_mask, omask, nmask) != omask); + } while (atomic_cas_64(&memnodes_mask, omask, nmask) != omask); atomic_add_16(&num_memnodes, -1); mem_node_config[mnode].exists = 0; } @@ -220,7 +221,7 @@ mem_node_alloc() * a first time memnode creation race. */ for (mnode = 0; mnode < max_mem_nodes; mnode++) - if (cas32((uint32_t *)&mem_node_config[mnode].exists, + if (atomic_cas_32((uint32_t *)&mem_node_config[mnode].exists, 0, 1) == 0) break; @@ -233,7 +234,7 @@ mem_node_alloc() do { oldmask = memnodes_mask; newmask = memnodes_mask | (1ull << mnode); - } while (cas64(&memnodes_mask, oldmask, newmask) != oldmask); + } while (atomic_cas_64(&memnodes_mask, oldmask, newmask) != oldmask); return (mnode); } |