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