diff options
author | Xavier Hernandez <jahernan@redhat.com> | 2017-11-07 13:45:03 +0100 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2017-11-14 05:22:00 +0000 |
commit | 3f8d118e48f11f448f35aca0c48ad40e0fd34f5b (patch) | |
tree | 8ab76f112fd5323b8820c0b2bf3ac58698981930 /xlators/performance/nl-cache/src/nl-cache-helper.c | |
parent | 87d5fb2ca50ab2812eabc7373216c45a5b4d16df (diff) |
libglusterfs/atomic: Improved atomic support
This patch solves a detection problem in configure.ac that prevented
that compilation detects builtin __atomic or __sync functions.
It also adds more atomic types and support for other atomic functions.
An special case has been added to support 64-bit atomics on 32-bit
systems. The solution is to fallback to the mutex solution only for
64-bit atomics, but smaller atomic types will still take advantage
of builtins if available.
Change-Id: I6b9afc7cd6e66b28a33278715583552872278801
BUG: 1510397
Signed-off-by: Xavier Hernandez <jahernan@redhat.com>
Diffstat (limited to 'xlators/performance/nl-cache/src/nl-cache-helper.c')
-rw-r--r-- | xlators/performance/nl-cache/src/nl-cache-helper.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/xlators/performance/nl-cache/src/nl-cache-helper.c b/xlators/performance/nl-cache/src/nl-cache-helper.c index 0b6c884b0de..1556f9ec952 100644 --- a/xlators/performance/nl-cache/src/nl-cache-helper.c +++ b/xlators/performance/nl-cache/src/nl-cache-helper.c @@ -600,8 +600,8 @@ nlc_lru_prune (xlator_t *this, inode_t *inode) LOCK (&conf->lock); { - if ((conf->current_cache_size.cnt < conf->cache_size) && - (conf->refd_inodes.cnt < conf->inode_limit)) + if ((GF_ATOMIC_GET(conf->refd_inodes) < conf->inode_limit) && + (GF_ATOMIC_GET(conf->current_cache_size) < conf->cache_size)) goto unlock; list_for_each_entry_safe (lru_node, tmp, &conf->lru, list) { |