From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 13 Mar 2019 17:13:05 +0300 From: Vladimir Davydov Subject: Re: [PATCH 1/3] lib/core/fiber: Increase default stack size Message-ID: <20190313141305.5txi56tjlo54a5j2@esperanza> References: <20190312224721.8053-1-gorcunov@gmail.com> <20190312224721.8053-2-gorcunov@gmail.com> <20190313134253.iihpk6ej7dx7a5rx@esperanza> <20190313135307.GN10420@uranus.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190313135307.GN10420@uranus.lan> To: Cyrill Gorcunov Cc: tml List-ID: On Wed, Mar 13, 2019 at 04:53:07PM +0300, Cyrill Gorcunov wrote: > On Wed, Mar 13, 2019 at 04:42:53PM +0300, Vladimir Davydov wrote: > > On Wed, Mar 13, 2019 at 01:47:19AM +0300, Cyrill Gorcunov wrote: > > > The default 64K stack size used for years become too small > > > for modern distors (Fedora 29 and etc) where third party libraries > > > (such as ncurses) started to use 64K for own buffers and we get > > > SIGSGV early without reaching interactive console phase. > > > > > > Thus we increase default size up to 512K which should fit > > > > May be, better use 1 MB, just to be sure? > > Well, you know iirc 512 should fit even on current MacOS. OK I see. Let's leave it as is then. > Also 1M is not guarantee us anything we have to make > this value configurable on early init. And I'm gonna > make it so. > > > > for common case. Later we will make this value configurable > > > to address arbitrary stack sizes without a need to rebuild > > > the whole code. > > > > > > Note the values are switched to 4K page granularity for sake > > > of future modifications -- we gonna manipulate pages to > > > relax rss usage if OS allows. > > > > > > Closes #3418 > > > > Should be "Part of #3418". We use "Closes" only with the last patch in > > the series (it makes GitHub close the issue). > > Strictly speaking it closes this particular issue. The things > we gonna implement on top is rather an optimization on memory > usage. So i would rather open another issue to address it. Seeing "Closes #3418" a few times in the same series looks weird. Without the third patch, this one shouldn't be committed so I'd use "Part of". > > > > --- > > > src/lib/core/fiber.c | 4 ++-- > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > diff --git a/src/lib/core/fiber.c b/src/lib/core/fiber.c > > > index abd6c6b11..f16ac873f 100644 > > > --- a/src/lib/core/fiber.c > > > +++ b/src/lib/core/fiber.c > > > @@ -93,9 +93,9 @@ static int stack_direction; > > > > > > enum { > > > /* The minimum allowable fiber stack size in bytes */ > > > - FIBER_STACK_SIZE_MINIMAL = 16384, > > > + FIBER_STACK_SIZE_MINIMAL = 4 << 12, > > > /* Default fiber stack size in bytes */ > > > - FIBER_STACK_SIZE_DEFAULT = 65536 > > > + FIBER_STACK_SIZE_DEFAULT = 128 << 12 > > > > I don't like using '<< 12' for stack sizes. Why 12? Because the page > > size is typically 4K. I wouldn't count on that - it's userspace so it > > looks confusing. > > Because madvise works with 4K pages and such record force > a code reader to pay attention that we're counting by But we align pointers passed to madvise by page size anyway. Seeing <<12 in userspace is weird. > pages. Actually once I make this values configurable > I'll use "nr_page * page_size" record. > > Volodya, if these are only nits you worries then fine > I can easily fix them :) With this particular patch, yes only nit picks :)