d1681e
From 3bf557cd74a50f7fadaba59c86653de8887d4ffd Mon Sep 17 00:00:00 2001
d1681e
From: Milind Changire <mchangir@redhat.com>
d1681e
Date: Fri, 1 Jun 2018 12:56:20 +0530
d1681e
Subject: [PATCH 293/305] rpcsvc: correct event-thread scaling
d1681e
d1681e
Problem:
d1681e
Auto thread count derived from the number of attachs and detachs
d1681e
was reset to 1 when server_reconfigure() was called.
d1681e
d1681e
Solution:
d1681e
Avoid auto-thread-count reset to 1.
d1681e
d1681e
mainline:
d1681e
> BUG: 1547888
d1681e
> Reviewed-on: https://review.gluster.org/19689
d1681e
> Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
d1681e
> Signed-off-by: Milind Changire <mchangir@redhat.com>
d1681e
(cherry picked from commit 0c3d984287d91d3fe1ffeef297252d912c08a410)
d1681e
d1681e
BUG: 1554255
d1681e
Change-Id: I53217bd0634ec5dcc164338867d9d468687598b0
d1681e
Signed-off-by: Milind Changire <mchangir@redhat.com>
d1681e
Reviewed-on: https://code.engineering.redhat.com/gerrit/140454
d1681e
Reviewed-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
d1681e
Tested-by: RHGS Build Bot <nigelb@redhat.com>
d1681e
Reviewed-by: Mohit Agrawal <moagrawa@redhat.com>
d1681e
Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com>
d1681e
---
d1681e
 xlators/protocol/server/src/server.c | 7 ++++---
d1681e
 1 file changed, 4 insertions(+), 3 deletions(-)
d1681e
d1681e
diff --git a/xlators/protocol/server/src/server.c b/xlators/protocol/server/src/server.c
d1681e
index bc87a80..69ad184 100644
d1681e
--- a/xlators/protocol/server/src/server.c
d1681e
+++ b/xlators/protocol/server/src/server.c
d1681e
@@ -1042,10 +1042,11 @@ do_rpc:
d1681e
         }
d1681e
 
d1681e
         /*
d1681e
-         * Let the event subsystem know that we're auto-scaling, with an
d1681e
-         * initial count of one.
d1681e
+         * Update:
d1681e
+         * We don't need to reset auto_thread_count since it has been derived
d1681e
+         * out of the total bricks attached. We can reconfigure event threads
d1681e
+         * but not auto threads.
d1681e
          */
d1681e
-        ((struct event_pool *)(this->ctx->event_pool))->auto_thread_count = 1;
d1681e
 
d1681e
         GF_OPTION_RECONF ("event-threads", new_nthread, options, int32, out);
d1681e
         ret = server_check_event_threads (this, conf, new_nthread);
d1681e
-- 
d1681e
1.8.3.1
d1681e