From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 24 Apr 2018 18:43:39 +0300 From: Vladimir Davydov Subject: Re: [PATCH v2 4/4] Allow to configure TX fiber pool size Message-ID: <20180424154339.mcziekbdd5atfliq@esperanza> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: To: Vladislav Shpilevoy Cc: tarantool-patches@freelists.org List-ID: On Mon, Apr 23, 2018 at 08:05:04PM +0300, Vladislav Shpilevoy wrote: > TX fiber pool size provides fibers to execute transactions and > remote requests, so it is linked with maximal remote request > count, that is allowed to be altered in the previous patch. Lets > do the same for fiber pool size. > > Follow up #3320 > --- I don't think that having a separate option for configuring the fiber pool size is reasonable, because iproto_msg_max and fiber_pool_size are interconnected. For example, it's pointless to set iproto_msg_max to 1000 and fiber_pool_size to 100 or vice versa. I guess we should leave just one option that would tweak both iproto_msg_max and fiber_pool_size under the hood. Not sure about that though. > src/box/box.cc | 9 ++++++++- > src/box/lua/load_cfg.lua | 2 ++ > src/fiber_pool.h | 6 +++++- > test/box/fat_tx.lua | 30 ++++++++++++++++++++++++++++ > test/box/request_limit.result | 43 +++++++++++++++++++++++++++++++++++++++++ > test/box/request_limit.test.lua | 15 ++++++++++++++ > 6 files changed, 103 insertions(+), 2 deletions(-) > create mode 100644 test/box/fat_tx.lua > > diff --git a/src/box/box.cc b/src/box/box.cc > index 80684ad48..d2552709a 100644 > --- a/src/box/box.cc > +++ b/src/box/box.cc > @@ -1716,8 +1716,15 @@ box_is_configured(void) > static inline void > box_cfg_xc(void) > { > + int fiber_pool_size = > + cfg_geti_default("fiber_pool_size", FIBER_POOL_SIZE_DEFAULT); > + if (fiber_pool_size < FIBER_POOL_SIZE_MIN) { > + tnt_raise(ClientError, ER_CFG, "fiber_pool_size", > + tt_sprintf("minimal value is %d", > + FIBER_POOL_SIZE_MIN)); > + } > /* Join the cord interconnect as "tx" endpoint. */ > - fiber_pool_create(&tx_fiber_pool, "tx", FIBER_POOL_SIZE, > + fiber_pool_create(&tx_fiber_pool, "tx", fiber_pool_size, > FIBER_POOL_IDLE_TIMEOUT); Can't you make this option dynamic?