Make winbind use epoll where available

Jeremy Allison jra at samba.org
Thu Jan 17 13:30:49 MST 2013


On Thu, Jan 17, 2013 at 09:10:36PM +0100, Volker Lendecke wrote:
> On Thu, Jan 17, 2013 at 12:57:10PM -0500, Ira Cooper wrote:
> > On Thu, Jan 17, 2013 at 12:52 PM, Jeremy Allison <jra at samba.org> wrote:
> > 
> > > On Thu, Jan 17, 2013 at 04:57:26PM +0100, Volker Lendecke wrote:
> > > > Hi!
> > > >
> > > > Attached find a patchset to make winbind use the standard
> > > > tevent_context_init function which uses epoll where
> > > > available. Before this winbind would always do poll. Ran a
> > > > successful private autobuild.
> > > >
> > > > One customer test brought winbind from 100% CPU over minutes
> > > > down to barely being seen in "top" for obvious reasons.
> > > >
> > > > Comments?
> > >
> > > Is it worth making samba, smbd and nmbd also do this ?
> > 
> > 
> > I see poll and the smbd poll setup functions in my profiling with DTrace
> > already.
> > 
> > I'm not sure on the percentages.  I can find that out.  Also I'm not sure
> > how much I'd get converting to a Solaris "port" based mechanism.  But it
> > should be similar to epoll.
> 
> I was thinking more of a libevent backend to tevent. This
> way we catch both Solaris and the BSDs with their kqueue.
> 
> Does anybody here have practical experience with libevent?
> How much of a performance penalty do we pay compared to the
> direct syscalls?

That's a really smart idea...


More information about the samba-technical mailing list