diff options
| author | Raghavendra Bhat <raghavendra@redhat.com> | 2012-05-29 18:22:16 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vijay@gluster.com> | 2012-05-29 06:29:59 -0700 | 
| commit | 9b9ede959d70438b1c41aad14ed189c03d16a544 (patch) | |
| tree | 7e9d16aa0a6df608e2330e84057dac2dfe222fd7 | |
| parent | 90394b565aa61f9a649233bf6b92fabf32c3af39 (diff) | |
distribute: use global synctask 'env' instead of local
creating a local synctask_env can lead to creating of many more
syncop threads than required. The current syncop logic can handle
the scale-up/scale-down of threads depending on the load. Hence,
its neater to use global synctask env.
Change-Id: Iff71885ed92eaab67fa2c2cf88c85af3a4a603d9
BUG: 823774
Signed-off-by: Raghavendra Bhat <raghavendra@redhat.com>
Reviewed-on: http://review.gluster.com/3480
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Krishnan Parthasarathi <kp@gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
| -rw-r--r-- | xlators/cluster/dht/src/dht-common.h | 2 | ||||
| -rw-r--r-- | xlators/cluster/dht/src/dht-helper.c | 10 | ||||
| -rw-r--r-- | xlators/cluster/dht/src/dht-rebalance.c | 5 | ||||
| -rw-r--r-- | xlators/cluster/dht/src/dht.c | 9 | ||||
| -rw-r--r-- | xlators/cluster/dht/src/nufa.c | 9 | ||||
| -rw-r--r-- | xlators/cluster/dht/src/switch.c | 9 | 
6 files changed, 3 insertions, 41 deletions
diff --git a/xlators/cluster/dht/src/dht-common.h b/xlators/cluster/dht/src/dht-common.h index a971f2987fc..9f7723fdbde 100644 --- a/xlators/cluster/dht/src/dht-common.h +++ b/xlators/cluster/dht/src/dht-common.h @@ -240,8 +240,6 @@ struct dht_conf {          /* Will be a global flag to control the layout spread count */          uint32_t       dir_spread_cnt; -	struct syncenv *env; /* The env pointer to the rebalance synctask */ -          /* to keep track of nodes which are decomissioned */          xlator_t     **decommissioned_bricks;          int            decommission_in_progress; diff --git a/xlators/cluster/dht/src/dht-helper.c b/xlators/cluster/dht/src/dht-helper.c index bad268040ab..920a7aabc50 100644 --- a/xlators/cluster/dht/src/dht-helper.c +++ b/xlators/cluster/dht/src/dht-helper.c @@ -773,11 +773,8 @@ int  dht_rebalance_complete_check (xlator_t *this, call_frame_t *frame)  {          int         ret     = -1; -        dht_conf_t *conf    = NULL; -        conf = this->private; - -        ret = synctask_new (conf->env, dht_migration_complete_check_task, +        ret = synctask_new (this->ctx->env, dht_migration_complete_check_task,                              dht_migration_complete_check_done,                              frame, frame);          return ret; @@ -906,11 +903,8 @@ dht_rebalance_in_progress_check (xlator_t *this, call_frame_t *frame)  {          int         ret     = -1; -        dht_conf_t *conf    = NULL; - -        conf = this->private; -        ret = synctask_new (conf->env, dht_rebalance_inprogress_task, +        ret = synctask_new (this->ctx->env, dht_rebalance_inprogress_task,                              dht_inprogress_check_done,                              frame, frame);          return ret; diff --git a/xlators/cluster/dht/src/dht-rebalance.c b/xlators/cluster/dht/src/dht-rebalance.c index b07e5e9690b..fd07a1c7ec1 100644 --- a/xlators/cluster/dht/src/dht-rebalance.c +++ b/xlators/cluster/dht/src/dht-rebalance.c @@ -938,11 +938,8 @@ int  dht_start_rebalance_task (xlator_t *this, call_frame_t *frame)  {          int         ret     = -1; -        dht_conf_t *conf    = NULL; -        conf = this->private; - -        ret = synctask_new (conf->env, rebalance_task, +        ret = synctask_new (this->ctx->env, rebalance_task,                              rebalance_task_completion,                              frame, frame);          return ret; diff --git a/xlators/cluster/dht/src/dht.c b/xlators/cluster/dht/src/dht.c index 72f03d3e77f..e3930e2af3f 100644 --- a/xlators/cluster/dht/src/dht.c +++ b/xlators/cluster/dht/src/dht.c @@ -453,15 +453,6 @@ init (xlator_t *this)          conf->gen = 1; -        /* Create 'syncop' environment */ -	conf->env = syncenv_new (0); -        if (!conf->env) { -                gf_log (this->name, GF_LOG_ERROR, -                        "failed to create sync environment %s", -                        strerror (errno)); -                goto err; -        } -          this->local_pool = mem_pool_new (dht_local_t, 512);          if (!this->local_pool) {                  gf_log (this->name, GF_LOG_ERROR, diff --git a/xlators/cluster/dht/src/nufa.c b/xlators/cluster/dht/src/nufa.c index bf7eaf8f14a..2179870d9ad 100644 --- a/xlators/cluster/dht/src/nufa.c +++ b/xlators/cluster/dht/src/nufa.c @@ -609,15 +609,6 @@ init (xlator_t *this)                  goto err;          } -        /* Create 'syncop' environment */ -	conf->env = syncenv_new (0); -        if (!conf->env) { -                gf_log (this->name, GF_LOG_ERROR, -                        "failed to create sync environment %s", -                        strerror (errno)); -                goto err; -        } -          this->local_pool = mem_pool_new (dht_local_t, 128);          if (!this->local_pool) {                  gf_log (this->name, GF_LOG_ERROR, diff --git a/xlators/cluster/dht/src/switch.c b/xlators/cluster/dht/src/switch.c index 1738f84235b..fe75914f247 100644 --- a/xlators/cluster/dht/src/switch.c +++ b/xlators/cluster/dht/src/switch.c @@ -917,15 +917,6 @@ init (xlator_t *this)                  goto err;          } -        /* Create 'syncop' environment */ -	conf->env = syncenv_new (0); -        if (!conf->env) { -                gf_log (this->name, GF_LOG_ERROR, -                        "failed to create sync environment %s", -                        strerror (errno)); -                goto err; -        } -          this->local_pool = mem_pool_new (dht_local_t, 128);          if (!this->local_pool) {                  gf_log (this->name, GF_LOG_ERROR,  | 
