diff options
| author | Xavier Hernandez <xhernandez@datalab.es> | 2015-12-01 11:50:54 +0100 |
|---|---|---|
| committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2016-09-08 10:08:25 -0700 |
| commit | 593b7a83f7408e59ab7b3ef7dfc4fe4096d6e3cd (patch) | |
| tree | 1a60ff784e7759c5dddb2352c5526f16e8696013 /xlators/cluster/ec/src/ec.h | |
| parent | 8a6236e4cfc7bf86e881e5c770a19040a6060ad0 (diff) | |
cluster/ec: Add support for hardware acceleration
This patch implements functionalities for fast encoding/decoding
using hardware support. Currently optimized x86_64, SSE and AVX is
added.
Additionally this patch implements a caching mecanism for inverse
matrices to reduce computation time, as well as a new method for
computing the inverse that takes quadratic time instead of cubic.
Finally some unnecessary memory copies have been eliminated to
further increase performance.
Change-Id: I26c75f26fb4201bd22b51335448ea4357235065a
BUG: 1289922
Signed-off-by: Xavier Hernandez <xhernandez@datalab.es>
Reviewed-on: http://review.gluster.org/12837
Tested-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'xlators/cluster/ec/src/ec.h')
| -rw-r--r-- | xlators/cluster/ec/src/ec.h | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/xlators/cluster/ec/src/ec.h b/xlators/cluster/ec/src/ec.h index 49af5c2daf2..648d444f595 100644 --- a/xlators/cluster/ec/src/ec.h +++ b/xlators/cluster/ec/src/ec.h @@ -11,11 +11,6 @@ #ifndef __EC_H__ #define __EC_H__ -#include "xlator.h" -#include "timer.h" -#include "ec-heald.h" -#include "libxlator.h" - #define EC_XATTR_PREFIX "trusted.ec." #define EC_XATTR_CONFIG EC_XATTR_PREFIX"config" #define EC_XATTR_SIZE EC_XATTR_PREFIX"size" @@ -26,49 +21,4 @@ #define EC_VERSION_SIZE 2 #define EC_SHD_INODE_LRU_LIMIT 10 -typedef enum { - EC_ROUND_ROBIN, - EC_GFID_HASH, - EC_READ_POLICY_MAX -} ec_read_policy_t; - -struct _ec -{ - xlator_t * xl; - int32_t healers; - int32_t heal_waiters; - int32_t nodes; - int32_t bits_for_nodes; - int32_t fragments; - int32_t redundancy; - uint32_t fragment_size; - uint32_t stripe_size; - int32_t up; - uint32_t idx; - uint32_t xl_up_count; - uintptr_t xl_up; - uint32_t xl_notify_count; - uintptr_t xl_notify; - uintptr_t node_mask; - xlator_t ** xl_list; - gf_lock_t lock; - gf_timer_t * timer; - gf_boolean_t shutdown; - gf_boolean_t eager_lock; - uint32_t background_heals; - uint32_t heal_wait_qlen; - struct list_head pending_fops; - struct list_head heal_waiting; - struct list_head healing; - struct mem_pool * fop_pool; - struct mem_pool * cbk_pool; - struct mem_pool * lock_pool; - ec_self_heald_t shd; - char vol_uuid[UUID_SIZE + 1]; - dict_t *leaf_to_subvolid; - ec_read_policy_t read_policy; -}; - -void ec_pending_fops_completed(ec_t *ec); - #endif /* __EC_H__ */ |
