[Tarantool-patches] [small] Revert "Free all slabs on region reset"

Kirill Yukhin kyukhin at tarantool.org
Wed Jan 29 12:59:03 MSK 2020


Hello,

On 29 янв 11:06, Alexander Turenko wrote:
> This reverts commit 67d7ab44ab09df3356929e3692a03321b31f3ebb.
> 
> The goal of the reverted commit was to fix flaky fails of tarantool
> tests that checks amount of memory used by a fiber:
> 
>  | fiber.info()[fiber.self().id()].memory.used
> 
> It also attempts to overcome the situation when a fiber holds some
> amount of memory, which is not used in any way. The high limit of such
> memory is controlled by a threshold in fiber_gc() tarantool's function
> (128 KiB at the moment):
> 
>  | void
>  | fiber_gc(void)
>  | {
>  |         if (region_used(&fiber()->gc) < 128 * 1024) {
>  |                 region_reset(&fiber()->gc);
>  |                 return;
>  |         }
>  |
>  |         region_free(&fiber()->gc);
>  | }
> 
> The reverted commit, however, leads to significant performance
> degradation on certain workloads (see #4736). So the revertion fixes the
> performance degradation and opens the problem with tests, which is
> tracked in #4750.
> 
> Related to #12
> Related to https://github.com/tarantool/tarantool/issues/4750
> Fixes https://github.com/tarantool/tarantool/issues/4736

I've checked your patch into tarantool/small and bumped new version
in master, 2.3, 2.2 and, as exception 2.1.

--
Regards, Kirill Yukhin


More information about the Tarantool-patches mailing list