All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Frederic Weisbecker <fweisbec@gmail.com>
Cc: 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>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	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 00:26:32 +0200	[thread overview]
Message-ID: <1340231192.21745.154.camel@twins> (raw)
In-Reply-To: <1340113391-1896-1-git-send-email-fweisbec@gmail.com>

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).

So I understand why s390,ia64 want the sched hook, but I don't see why
ppc would need it, their account_process_tick() can fold whatever they
need on the tick.

So I think reworking s390,ia64 to use per-cpu storage should get rid of
this switch hook altogether.


Now everybody using VIRT_CPU_ACCOUNTING has the
syscall/__irq_{enter,exit} hooks and uses 64bit cputime_t.

IRQ_TIME_ACCOUNTING only has the __irq_{enter,exit} hook and uses
unsigned long cputime_t, it adds cputime_one_jiffy every tick when the
per-cpu counter is ahead of the cputime.


We could merge both and do away with the 64bit cputime thing by keeping
a (2nd) per-cpu kernel_cpustat which we fill with optional syscall/irq
hooks and have account_process_tick() first check if any of the
fine-grained fields overflow and if not, fall back to the regular tick
accounting (much like an extended irqtime_account_process_tick).


This would merge the fine-grain and tick based code-paths and do away
with the whole cputime_t mess, it would also merge the VIRT and IRQ
paths and make Frederic's optional syscall accounting trivial.

Or am I missing something obvious here? -- its late after all.

I'll try and write some code tomorrow.

  parent reply	other threads:[~2012-06-20 22:26 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 [this message]
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
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=1340231192.21745.154.camel@twins \
    --to=peterz@infradead.org \
    --cc=benh@kernel.crashing.org \
    --cc=fenghua.yu@intel.com \
    --cc=fweisbec@gmail.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=paulus@samba.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 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.