From: Martin Schwidefsky <schwidefsky@de.ibm.com>
To: Venkatesh Pallipadi <venki@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@elte.hu>, "H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>,
Balbir Singh <balbir@linux.vnet.ibm.com>,
Paul Menage <menage@google.com>,
linux-kernel@vger.kernel.org, Paul Turner <pjt@google.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Paul Mackerras <paulus@samba.org>,
Tony Luck <tony.luck@intel.com>
Subject: Re: [PATCH 0/4] Finer granularity and task/cgroup irq time accounting
Date: Tue, 20 Jul 2010 09:55:46 +0200 [thread overview]
Message-ID: <20100720095546.2f899e04@mschwide.boeblingen.de.ibm.com> (raw)
In-Reply-To: <1279583835-22854-1-git-send-email-venki@google.com>
On Mon, 19 Jul 2010 16:57:11 -0700
Venkatesh Pallipadi <venki@google.com> wrote:
> Currently, the softirq and hardirq time reporting is only done at the
> CPU level. There are usecases where reporting this time against task
> or task groups or cgroups will be useful for user/administrator
> in terms of resource planning and utilization charging. Also, as the
> accoounting is already done at the CPU level, reporting the same at
> the task level does not add any significant computational overhead
> other than task level storage (patch 1).
I never understood why the softirq and hardirq time gets accounted to a
task at all. Why is it that the poor task that is running gets charged
with the cpu time of an interrupt that has nothing to do with the task?
I consider this to be a bug, and now this gets formalized in the
taskstats interface? Imho not a good idea.
> The softirq/hardirq statistics commonly done based on tick based sampling.
> Though some archs have CONFIG_VIRT_CPU_ACCOUNTING based fine granularity
> accounting. Having similar mechanism to get fine granularity accounting
> on x86 will be a major challenge, given the state of TSC reliability
> on various platforms and also the overhead it may add in common paths
> like syscall entry exit.
>
> An alternative is to have a generic (sched_clock based) and configurable
> fine-granularity accounting of si and hi time which can be reported
> over the /proc/<pid>/stat API (patch 2).
To get fine granular accounting for interrupts you need to do a
sched_clock call on irq entry and another one on irq exit. Isn't that
too expensive on a x86 system? (I do think this is a good idea but
still there is the worry about the overhead).
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
next prev parent reply other threads:[~2010-07-20 7:55 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-19 23:57 Venkatesh Pallipadi
2010-07-19 23:57 ` [PATCH 1/4] sched: Track and export per task [hard|soft]irq time Venkatesh Pallipadi
2010-07-19 23:57 ` [PATCH 2/4] x86: Add IRQ_TIME_ACCOUNTING, finer accounting of irq time to task Venkatesh Pallipadi
2010-07-19 23:57 ` [PATCH 3/4] sched: Generalize cpuacct usage tracking making it simpler to add new stats Venkatesh Pallipadi
2010-07-19 23:57 ` [PATCH 4/4] sched: Export irq times through cpuacct cgroup Venkatesh Pallipadi
2010-07-20 7:55 ` Martin Schwidefsky [this message]
2010-07-20 16:55 ` [PATCH 0/4] Finer granularity and task/cgroup irq time accounting Venkatesh Pallipadi
2010-07-22 11:12 ` Martin Schwidefsky
2010-07-23 2:12 ` Venkatesh Pallipadi
2010-08-24 7:51 ` Peter Zijlstra
2010-08-24 8:05 ` Balbir Singh
2010-08-24 9:09 ` Peter Zijlstra
2010-08-24 11:38 ` Balbir Singh
2010-08-24 11:49 ` Peter Zijlstra
2010-08-24 11:53 ` Peter Zijlstra
2010-08-24 12:06 ` Martin Schwidefsky
2010-08-24 12:39 ` Peter Zijlstra
2010-08-24 12:47 ` Balbir Singh
2010-08-24 13:08 ` Peter Zijlstra
2010-08-24 19:20 ` Venkatesh Pallipadi
2010-08-24 20:39 ` Peter Zijlstra
2010-08-25 2:02 ` Venkatesh Pallipadi
2010-08-25 7:20 ` Martin Schwidefsky
2010-09-08 11:12 ` Peter Zijlstra
2010-08-24 8:14 ` Ingo Molnar
2010-08-24 8:49 ` Peter Zijlstra
2010-08-24 0:56 ` Venkatesh Pallipadi
2010-08-24 7:52 ` Peter Zijlstra
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=20100720095546.2f899e04@mschwide.boeblingen.de.ibm.com \
--to=schwidefsky@de.ibm.com \
--cc=balbir@linux.vnet.ibm.com \
--cc=heiko.carstens@de.ibm.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=menage@google.com \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=peterz@infradead.org \
--cc=pjt@google.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
all inboxes | Powered by JetHome®