On Tue, Oct 2, 2018 at 6:28 AM Andres Freund <andres@anarazel.de> wrote:
> On 2018-10-01 19:25:45 +0200, Matteo Beccati wrote:
> > On 01/10/2018 01:09, Thomas Munro wrote:
> > > I don't know why the existence of the kqueue should make recvfrom()
> > > slower on the pgbench side. That's probably something to look into
> > > off-line with some FreeBSD guru help. Degraded performance for
> > > clients on the same machine does seem to be a show stopper for this
> > > patch for now. Thanks for testing!
> >
> > Glad to be helpful!
> >
> > I've tried running pgbench from a separate VM and in fact kqueue
> > consistently takes the lead with 5-10% more tps on select/prepared pgbench
> > on NetBSD too.
> >
> > What I have observed is that sys cpu usage is ~65% (35% idle) with kqueue,
> > while unpatched master averages at 55% (45% idle): relatively speaking
> > that's almost 25% less idle cpu available for a local pgbench to do its own
> > stuff.
>
> This suggest that either the the wakeup logic between kqueue and poll,
> or the internal locking could be at issue. Is it possible that poll
> triggers a directed wakeup path, but kqueue doesn't?
I am following up with some kernel hackers. In the meantime, here is
a rebase for the new split-line configure.in, to turn cfbot green.
--
Thomas Munro
http://www.enterprisedb.com