public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Ingo Molnar <mingo@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	LKML <linux-kernel@vger.kernel.org>,
	Tony Luck <tony.luck@intel.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Venkatesh Pallipadi <venki@google.com>
Subject: Re: [PATCH 0/4] cputime: Virtual cputime accounting small cleanups and consolidation
Date: Thu, 21 Jun 2012 18:37:42 +0200	[thread overview]
Message-ID: <20120621163738.GA8652@somewhere> (raw)
In-Reply-To: <1340280264.18025.4.camel@twins>

On Thu, Jun 21, 2012 at 02:04:24PM +0200, Peter Zijlstra wrote:
> On Thu, 2012-06-21 at 09:58 +0200, Martin Schwidefsky wrote:
> > On Thu, 21 Jun 2012 02:46:29 +0200
> > Frederic Weisbecker <fweisbec@gmail.com> wrote:
> > 
> > > 2012/6/21 Peter Zijlstra <peterz@infradead.org>:
> > > > On Tue, 2012-06-19 at 15:43 +0200, Frederic Weisbecker wrote:
> > > >>
> > > >> I wish we could do more vtime cputime accounting consolidation
> > > >> but archs do the things pretty differently although I bet the
> > > >> behaviour could be more unified.
> > > >>
> > > > Yes.. so s390,ia64 use thread_info, ppc uses their paca (arch private
> > > > precursor to per-cpu data).
> > 
> > s390 uses the prefix page / lowcore to accumulate some accounting information.
> > Which basically is per-cpu data with the advantage that it is accessible with
> > at address 0-8191 for each cpu. The entry code does not have to load a pointer
> > to get to that page, I would prefer NOT to use per-cpu data here.
> 
> Yeah, same for ppc and their paca, I just meant to put the data in
> per-cpu (your lowcore and ppc's paca qualify) storage instead of
> per-task.
> 
> But seeing as I completely overlooked the per-task accounting this
> doesn't matter anyway.
> 
> There being the per-task accounting also completely wrecks the proposal
> I outlined. That only works if its only per-cpu accounting.
> 
> The alternative is going full 64bit ns and having the tick fallback do
> TICK_NSEC increments. 32bit args that don't do VIRT_TIME or IRQ_TIME
> won't like that though :/
> 
> So yeah, I did miss something obvious.. no cookies for me.

Yeah but the idea of a dynamic switching between tick based accounting
and virtual based one (account_system_vtime()) is still valuable to me.

That of course only makes sense if the arch uses some kind of "on-demand"
virtual accounting. Like using TIF flags for syscall slow path and jump
labels for exception hooks. Although in the longer term we should rather
hook on the syscall fastpath, but you get the idea.

How does that sound?

Another way would be to make the adaptive tickless thing depend on
the traditional CONFIG_VIRT_CPU_TIME. So it's simply enabled all the
time and we don't care. But we need syscalls/exceptions hooks for RCU
anyway, which is why I think an on-demand thing could make sense because
both RCU and vtime could use these on-demand hooks.

  reply	other threads:[~2012-06-21 16:37 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-19 13:43 [PATCH 0/4] cputime: Virtual cputime accounting small cleanups and consolidation Frederic Weisbecker
2012-06-19 13:43 ` [PATCH 1/4] cputime: Generalize CONFIG_VIRT_CPU_ACCOUNTING Frederic Weisbecker
2012-06-19 13:43 ` [PATCH 2/4] sched: Move cputime code to its own file Frederic Weisbecker
2012-06-19 13:43 ` [PATCH 3/4] cputime: Consolidate vtime handling on context switch Frederic Weisbecker
2012-06-19 13:43 ` [PATCH 4/4] s390: Remove leftover account_tick_vtime() header Frederic Weisbecker
2012-06-19 18:55 ` [PATCH 0/4] cputime: Virtual cputime accounting small cleanups and consolidation Luck, Tony
2012-06-20 22:26 ` Peter Zijlstra
2012-06-21  0:46   ` Frederic Weisbecker
2012-06-21  7:58     ` Martin Schwidefsky
2012-06-21 12:04       ` Peter Zijlstra
2012-06-21 16:37         ` Frederic Weisbecker [this message]
2012-06-21  8:30     ` Peter Zijlstra
2012-06-21  8:53       ` Peter Zijlstra
2012-07-09 17:50 ` Frederic Weisbecker
2012-07-09 21:03   ` Benjamin Herrenschmidt
2012-08-03 11:12   ` Frederic Weisbecker

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=20120621163738.GA8652@somewhere \
    --to=fweisbec@gmail.com \
    --cc=benh@kernel.crashing.org \
    --cc=fenghua.yu@intel.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=paulus@samba.org \
    --cc=peterz@infradead.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=venki@google.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