lkml.org 
[lkml]   [2015]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] sched, timer: Use atomics for thread_group_cputimer to improve scalability
From
Date
On Mon, 2015-03-02 at 13:49 -0800, Jason Low wrote:
> On Mon, 2015-03-02 at 11:03 -0800, Linus Torvalds wrote:
> > On Mon, Mar 2, 2015 at 10:42 AM, Jason Low <jason.low2@hp.com> wrote:
> > >
> > > This patch converts the timers to 64 bit atomic variables and use
> > > atomic add to update them without a lock. With this patch, the percent
> > > of total time spent updating thread group cputimer timers was reduced
> > > from 30% down to less than 1%.
> >
> > NAK.
> >
> > Not because I think this is wrong, but because somebody needs to look
> > at the effects on 32-bit architectures too.
>
> Okay, I will run some tests to see how this change affects the
> performance of itimers on 32 bit systems.

Hi Linus,

I tested this patch on a 32 bit ARM system with 4 cores. Using the
generic 64 bit atomics, I did not see any performance change with this
patch, and the relevant functions (account_group_*_time(), ect...) don't
show up in perf reports.

One factor might be because locking/cacheline contention isn't as
apparent on smaller systems to begin with, and lib/atomic64.c also
mentions that "this is expected to used on systems with small numbers of
CPUs (<= 4 or so)".



\
 
 \ /
  Last update: 2015-03-19 19:01    [W:0.098 / U:0.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site