d1681e
From 96146ccae552c648f33a19783fad824cf8101790 Mon Sep 17 00:00:00 2001
d1681e
From: Milind Changire <mchangir@redhat.com>
d1681e
Date: Tue, 13 Mar 2018 12:03:56 +0530
d1681e
Subject: [PATCH 185/201] 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
Change-Id: Ic00e86adb81ba3c828e354a6ccb638209ae58b3e
d1681e
BUG: 1554255
d1681e
Signed-off-by: Milind Changire <mchangir@redhat.com>
d1681e
Reviewed-on: https://code.engineering.redhat.com/gerrit/132509
d1681e
Tested-by: RHGS Build Bot <nigelb@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 4627ea0..89fde39 100644
d1681e
--- a/xlators/protocol/server/src/server.c
d1681e
+++ b/xlators/protocol/server/src/server.c
d1681e
@@ -978,10 +978,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