public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: Ingo Molnar <mingo@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Peter Zijlstra <peterz@infradead.org>,
	Borislav Petkov <bp@alien8.de>,
	Li Zhong <zhong@linux.vnet.ibm.com>,
	Mike Galbraith <efault@gmx.de>, Kevin Hilman <khilman@linaro.org>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Alex Shi <alex.shi@intel.com>, Paul Turner <pjt@google.com>,
	Vincent Guittot <vincent.guittot@linaro.org>
Subject: Re: [GIT PULL] timers/nohz updates for 3.12
Date: Tue, 13 Aug 2013 02:03:57 +0200	[thread overview]
Message-ID: <20130813000355.GD27436@somewhere> (raw)
In-Reply-To: <20130812184428.GA19785@gmail.com>

On Mon, Aug 12, 2013 at 08:44:28PM +0200, Ingo Molnar wrote:
> 
> * Frederic Weisbecker <fweisbec@gmail.com> wrote:
> 
> > Ingo,
> > 
> > Please pull the timers/nohz branch that can be found at:
> > 
> > git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
> > 	timers/nohz
> > 
> > It mostly contains fixes and full dynticks off-case optimizations. I believe that
> > distros want to enable this feature so it seems important to optimize the case
> > where the "nohz_full=" parameter is empty. ie: I'm trying to remove any performance
> > regression that comes with NO_HZ_FULL=y when the feature is not used.
> > 
> > This patchset improves the current situation a lot (off-case appears to be around 11% faster
> > with hackbench, although I guess it may vary depending on the configuration but it should be
> > significantly faster in any case) now there is still some work to do: I can still observe a
> > remaining loss of 1.6% throughput seen with hackbench compared to CONFIG_NO_HZ_FULL=n
> > 
> > Thanks,
> > 	Frederic
> > ---
> > 
> > Frederic Weisbecker (23):
> >       sched: Consolidate open coded preemptible() checks
> >       context_tracing: Fix guest accounting with native vtime
> >       vtime: Update a few comments
> >       context_tracking: Fix runtime CPU off-case
> >       nohz: Only enable context tracking on full dynticks CPUs
> >       context_tracking: Remove full dynticks' hacky dependency on wide context tracking
> >       context_tracking: Ground setup for static key use
> >       context_tracking: Optimize main APIs off case with static key
> >       context_tracking: Optimize guest APIs off case with static key
> >       context_tracking: Optimize context switch off case with static keys
> >       context_tracking: User/kernel broundary cross trace events
> >       vtime: Remove a few unneeded generic vtime state checks
> >       vtime: Fix racy cputime delta update
> >       context_tracking: Split low level state headers
> >       hardirq: Split preempt count mask definitions
> >       m68k: hardirq_count() only need preempt_mask.h
> >       vtime: Describe overriden functions in dedicated arch headers
> >       vtime: Optimize full dynticks accounting off case with static keys
> >       vtime: Always scale generic vtime accounting results
> >       vtime: Always debug check snapshot source _before_ updating it
> >       nohz: Rename a few state variables
> >       nohz: Optimize full dynticks state checks with static keys
> >       nohz: Optimize full dynticks's sched hooks with static keys
> > 
> > 
> >  arch/ia64/include/asm/Kbuild            |    1 +
> >  arch/m68k/include/asm/irqflags.h        |    2 +-
> >  arch/powerpc/include/asm/Kbuild         |    1 +
> >  arch/s390/include/asm/cputime.h         |    3 -
> >  arch/s390/include/asm/vtime.h           |    7 ++
> >  arch/s390/kernel/vtime.c                |    1 +
> >  include/linux/context_tracking.h        |  120 +++++++++++++++--------------
> >  include/linux/context_tracking_state.h  |   39 +++++++++
> >  include/linux/hardirq.h                 |  117 +----------------------------
> >  include/linux/preempt_mask.h            |  122 +++++++++++++++++++++++++++++
> >  include/linux/tick.h                    |   45 +++++++++--
> >  include/linux/vtime.h                   |   74 ++++++++++++++++--
> >  include/trace/events/context_tracking.h |   58 ++++++++++++++
> >  init/Kconfig                            |   28 +++++--
> >  kernel/context_tracking.c               |  128 ++++++++++++++++++-------------
> >  kernel/sched/core.c                     |    4 +-
> >  kernel/sched/cputime.c                  |   53 ++++---------
> >  kernel/time/Kconfig                     |    1 -
> >  kernel/time/tick-sched.c                |   56 ++++++--------
> >  19 files changed, 534 insertions(+), 326 deletions(-)
> 
> When merged to -tip it causes this build error:
> 
>  kernel/time/tick-sched.c:186:3: error: 'have_nohz_full_mask' undeclared (first use in this function)
>  kernel/time/tick-sched.c:345:2: error: 'cpu' undeclared (first use in this function)
> 
> config attached.
> 
> I did what looked like to be an obvious conflict resolution to 
> tick-sched.c (attached), please double check that too.
> 
> While at it, mind rebasing your changes to tip:timers/urgent, which has a 
> few nohz fixes pending as well?

Ok I did the rebase on top of tip:timers/urgent and handled the conflicts along.
The new branch is "timers/nohz-v2".

Tell me if anything goes wrong with it.

Thanks.

  parent reply	other threads:[~2013-08-13  0:04 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-05 19:01 [GIT PULL] timers/nohz updates for 3.12 Frederic Weisbecker
2013-08-12 18:44 ` Ingo Molnar
2013-08-12 21:28   ` Frederic Weisbecker
2013-08-13  0:03   ` Frederic Weisbecker [this message]
2013-08-13 14:57     ` Ingo Molnar
2013-08-14 15:56       ` Frederic Weisbecker
2013-08-14 17:31         ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130813000355.GD27436@somewhere \
    --to=fweisbec@gmail.com \
    --cc=alex.shi@intel.com \
    --cc=bp@alien8.de \
    --cc=efault@gmx.de \
    --cc=geert@linux-m68k.org \
    --cc=heiko.carstens@de.ibm.com \
    --cc=khilman@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=pjt@google.com \
    --cc=rostedt@goodmis.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=vincent.guittot@linaro.org \
    --cc=zhong@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox