All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: Ingo Molnar <mingo@kernel.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Peter Zijlstra <peterz@infradead.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Alessio Igor Bogani <abogani@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Avi Kivity <avi@redhat.com>, Chris Metcalf <cmetcalf@tilera.com>,
	Christoph Lameter <cl@linux.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Geoff Levand <geoff@infradead.org>,
	Gilad Ben Yossef <gilad@benyossef.com>,
	Hakan Akkan <hakanakkan@gmail.com>, Kevin Hilman <khilman@ti.com>,
	Max Krasnyansky <maxk@qualcomm.com>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Stephen Hemminger <shemminger@vyatta.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Sven-Thorsten Dietrich <thebigcorporation@gmail.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	"Luck,Tony" <tony.luck@intel.com>
Subject: Re: [RFC GIT PULL] nohz: Basic cputime accounting for adaptive tickless
Date: Thu, 14 Jun 2012 19:34:57 +0200	[thread overview]
Message-ID: <20120614173453.GA20071@somewhere.redhat.com> (raw)
In-Reply-To: <20120614143633.GA32094@gmail.com>

On Thu, Jun 14, 2012 at 04:36:33PM +0200, Ingo Molnar wrote:
> 
> * Frederic Weisbecker <fweisbec@gmail.com> wrote:
> 
> > > > > > > I'll try something with that.
> > > > > > 
> > > > > > Maybe sanitize all the variants under a single set of 
> > > > > > wrappers/callbacks?
> > > > > 
> > > > > Yes, please!
> > > > 
> > > > Sure, I'm working in it.
> > >  
> > > Please keep me in the loop, I want to avoid that things 
> > > break on s390. Thanks.
> > 
> > Well, I realize I can't consolidate much between ia64, s390 
> > and ppc because they all handle virtual cpu time accounting 
> > very differently. I'm also not what the virtual timer is for.
> 
> As a first step I'd suggest to create a superset of all existing 
> and relied-upon wrappers/callbacks, into a single obvious 
> sched_*() or time_*() namespace, without breaking functionality.

But the API is already well defined. The arch just need to implement
account_system_vtime() and account_process_tick() and record the time
on the kernel boundaries. This is pretty well contained in ppc entry.S where
it is implemented through ACCOUNT_CPU_USER_ENTRY/EXIT macros (although
I see the time accounted on syscall boundaries but not in exceptions),
it's more complicated in ia64 as the virt accounting is spread here and there
in entry.S and it's always on in s390.

May be we could standardize a bit the way we save and account the time.
This require some non-trivial asm surgery on archs I don't know much about
though.

> 
> Once that is done we can eliminate individual, conceptually 
> redundant callbacks, by carefully morphing the affected arches 
> step by step.
> 
> No arch will be left behind.
> 
> Thanks,
> 
> 	Ingo

  reply	other threads:[~2012-06-14 17:35 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-13 16:19 [RFC GIT PULL] nohz: Basic cputime accounting for adaptive tickless Frederic Weisbecker
2012-06-13 16:19 ` [PATCH 1/7] nohz: Add more comment about CONFIG_NO_HZ Frederic Weisbecker
2012-06-13 16:19 ` [PATCH 2/7] nohz: Introduce adaptive nohz config Frederic Weisbecker
2012-06-13 16:19 ` [PATCH 3/7] nohz: Generalize tickless cpu time accounting Frederic Weisbecker
2012-06-13 16:19 ` [PATCH 4/7] nohz: Account user and system times in adaptive nohz mode Frederic Weisbecker
2012-06-13 16:19 ` [PATCH 5/7] x86: Syscall hooks for " Frederic Weisbecker
2012-06-13 16:19 ` [PATCH 6/7] x86: Add adaptive tickless hooks on do_notify_resume() Frederic Weisbecker
2012-06-13 16:19 ` [PATCH 7/7] x86: Exception hooks for adaptive tickless Frederic Weisbecker
2012-06-13 16:35 ` [RFC GIT PULL] nohz: Basic cputime accounting " Frederic Weisbecker
2012-06-14  9:07 ` Peter Zijlstra
2012-06-14  9:10   ` Peter Zijlstra
2012-06-14 11:12   ` Frederic Weisbecker
2012-06-14 11:16     ` Ingo Molnar
2012-06-14 11:21       ` Thomas Gleixner
2012-06-14 11:22         ` Frederic Weisbecker
2012-06-14 12:48           ` Martin Schwidefsky
2012-06-14 13:04             ` Frederic Weisbecker
2012-06-14 14:36               ` Ingo Molnar
2012-06-14 17:34                 ` Frederic Weisbecker [this message]
2012-06-15 12:13                   ` Ingo Molnar
2012-06-14 13:42             ` Frederic Weisbecker
2012-06-14 15:18               ` Martin Schwidefsky
2012-06-15 17:37                 ` Frederic Weisbecker
2012-06-18 10:46                   ` Martin Schwidefsky

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=20120614173453.GA20071@somewhere.redhat.com \
    --to=fweisbec@gmail.com \
    --cc=abogani@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=avi@redhat.com \
    --cc=benh@kernel.crashing.org \
    --cc=cl@linux.com \
    --cc=cmetcalf@tilera.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=geoff@infradead.org \
    --cc=gilad@benyossef.com \
    --cc=hakanakkan@gmail.com \
    --cc=khilman@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxk@qualcomm.com \
    --cc=mingo@kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=shemminger@vyatta.com \
    --cc=tglx@linutronix.de \
    --cc=thebigcorporation@gmail.com \
    --cc=tony.luck@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.