[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1444935676.29506.15.camel@j-VirtualBox>
Date: Thu, 15 Oct 2015 12:01:16 -0700
From: Jason Low <jason.low@....com>
To: Ingo Molnar <mingo@...nel.org>
Cc: Jason Low <jason.low2@...com>,
Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
linux-kernel@...r.kernel.org, Oleg Nesterov <oleg@...hat.com>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Frederic Weisbecker <fweisbec@...il.com>,
Davidlohr Bueso <dave@...olabs.net>,
Steven Rostedt <rostedt@...dmis.org>,
Andrew Morton <akpm@...ux-foundation.org>,
George Spelvin <linux@...izon.com>, hideaki.kimura@....com,
terry.rudd@....com, scott.norton@....com
Subject: Re: [PATCH v2 0/4] timer: Improve itimers scalability
On Thu, 2015-10-15 at 10:47 +0200, Ingo Molnar wrote:
> * Jason Low <jason.low2@...com> wrote:
>
> > While running a database workload on a 16 socket machine, there were
> > scalability issues related to itimers. The following link contains a
> > more detailed summary of the issues at the application level.
> >
> > https://lkml.org/lkml/2015/8/26/737
> >
> > Commit 1018016c706f addressed the issue with the thread_group_cputimer
> > spinlock taking up a significant portion of total run time.
> > This patch series addresses the secondary issue where a lot of time is
> > spent trying to acquire the sighand lock. It was found in some cases
> > that 200+ threads were simultaneously contending for the same sighand
> > lock, reducing throughput by more than 30%.
> >
> > With this patch set (along with commit 1018016c706f mentioned above),
> > the performance hit of itimers almost completely goes away on the
> > 16 socket system.
> >
> > Jason Low (4):
> > timer: Optimize fastpath_timer_check()
> > timer: Check thread timers only when there are active thread timers
> > timer: Convert cputimer->running to bool
> > timer: Reduce unnecessary sighand lock contention
> >
> > include/linux/init_task.h | 3 +-
> > include/linux/sched.h | 9 ++++--
> > kernel/fork.c | 2 +-
> > kernel/time/posix-cpu-timers.c | 63 ++++++++++++++++++++++++++++-----------
> > 4 files changed, 54 insertions(+), 23 deletions(-)
>
> Is there some itimers benchmark that can be used to measure the effects of these
> changes?
Yes, we also wrote a micro benchmark which generates cache misses and
measures the average cost of each cache miss (with itimers enabled). We
used this while writing and testing patches, since it takes a bit longer
to set up and run the database.
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists