ctdb: Adding memory pool for queue callback

Volker Lendecke Volker.Lendecke at SerNet.DE
Wed Nov 7 14:24:00 UTC 2018


On Wed, Nov 07, 2018 at 03:16:14PM +0100, Swen Schillig wrote:
> Sure, I can investigate.
> But whatever the results may be, we would change the way talloc_pool
> works and not replace talloc_pool by malloc throwing the talloc API
> over bord, right ?
> 
> Therefore, I think the suggested change is still valid.
> 
> Wouldn't you agree ?

No.

It adds one level of complexity that (according to the current
measurement) gains probably nothing. In the pure torture test doing
nothing but the talloc operations that you are optimizing, it gains
roughly 2%. I would be extremely surprised if you could measure that
in the real world test with ctdb and all the other stuff it's doing.
It took me an hour to convince myself that the talloc_pool
implementation does the right thing and go back to the pointer
increment when it becomes empty. smbd's use of a talloc pool is
different: In smbd's main loop we throw away the whole pool. In that
pattern it's much simpler to understand that it does the pointer
increment.

We don't have a specific test for the proper talloc_pool wipe when all
chilred are gone (I did not find any), so this should be part of your
further investigation of the talloc_pool misery I pointed out.

Volker

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de



More information about the samba-technical mailing list