[RFC] Performance improvements

Andrew Bartlett abartlet at samba.org
Fri Jul 13 22:58:09 UTC 2018

On Fri, 2018-07-13 at 12:56 +0200, Swen Schillig via samba-technical
> Hi Martin
> back from hol's.....see'ing that you won't let go :-)
> Thanks for that !
> On Mon, 2018-07-02 at 16:49 +1000, Martin Schwenke wrote:
> > Hi Swen,
> > 
> > On Fri, 22 Jun 2018 14:29:15 +0200, Swen Schillig <swen at vnet.ibm.com>
> > wrote:
> > 
> > > Besides, I thought the argument for NOT having patch-10 (tevent) is
> > > because of fair-scheduling via tevent. 
> > > Are you telling me now this cannot achieved via tevent ?
> > > So if tevent is just processing all immediate events without looking
> > > left or right, then what is the reason again for not having patch-10 ?
> > > 
> > > Ok, excuse my slight touch of sarcasm here but I really believe that
> > > the chosen strategy is a good compromise between the 5 year old 16k and
> > > the current 1k value. 
> > 
> > The tevent programming model is to have an event handler do a small
> > amount of work and go back to the event loop.  When you use immediate
> > events you definitely give those events an advantage.  However, that
> > doesn't mean that you should throw out the programming model.
> Ok, I guess I do understand what you call the tevent-programming-model, 
> but in that code area we only have immediate events making it quiet
> questionable to me to use it all (therefore patch-10).
> In addition I do believe that the tevent overhead in this area is
> noticeable (bold statement w/o any prove).

G'Day Swen,

I've not looked at the code in question, but I do want to say this:

Samba is all about patterns.  Even when we don't like it, we try to
follow the same patterns because it makes it easier to transition from
one area of the codebase to another, and to glue things together. 

For example, GENSEC has become our standard security subsystem, even
when it feels overkill, because it allows us to use new security
mechanisms easily and enforce a consistent behaviour across the whole

Talloc isn't always needed, and one might feel a desire to fall back to
'good old malloc()' when 'I know' it is right, but we persist.  In
return we have good tools for tracing talloc trees and avoiding/finding
lost memory. 

tevent still baffles me, but we do use it, so please have more of an
argument than 'we don't really need it', because you might be cutting
out a future improvement or traceability written for this generic


Andrew Bartlett

Andrew Bartlett                       http://samba.org/~abartlet/
Authentication Developer, Samba Team  http://samba.org
Samba Developer, Catalyst IT          http://catalyst.net.nz/services/samba

More information about the samba-technical mailing list