From: Peter Zijlstra <peterz@infradead.org>
To: Venkatesh Pallipadi <venki@google.com>
Cc: Ingo Molnar <mingo@elte.hu>, "H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>,
Balbir Singh <balbir@linux.vnet.ibm.com>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
linux-kernel@vger.kernel.org, Paul Turner <pjt@google.com>,
Eric Dumazet <eric.dumazet@gmail.com>,
Shaun Ruffell <sruffell@digium.com>
Subject: Re: [PATCH 1/5] Free up pf flag PF_KSOFTIRQD -v2
Date: Wed, 22 Dec 2010 10:17:26 +0100 [thread overview]
Message-ID: <1293009446.2170.71.camel@laptop> (raw)
In-Reply-To: <1292980144-28796-2-git-send-email-venki@google.com>
On Tue, 2010-12-21 at 17:09 -0800, Venkatesh Pallipadi wrote:
> Patchset:
> This is Part 2 of
> "Proper kernel irq time accounting -v4"
> http://lkml.indiana.edu/hypermail//linux/kernel/1010.0/01175.html
>
> and applies 2.6.37-rc7.
>
> Part 1 solves the way irqs are accounted in scheduler and tasks. This
> patchset solves how irq times are reported in /proc/stat and also not
> to include irq time in task->stime, etc.
>
> Example:
> Running a cpu intensive loop and network intensive nc on a 4 CPU system
> and looking at 'top' output.
>
> With vanilla kernel:
> Cpu0 : 0.0% us, 0.3% sy, 0.0% ni, 99.3% id, 0.0% wa, 0.0% hi, 0.3% si
> Cpu1 : 100.0% us, 0.0% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.0% si
> Cpu2 : 1.3% us, 27.2% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 71.4% si
> Cpu3 : 1.6% us, 1.3% sy, 0.0% ni, 96.7% id, 0.0% wa, 0.0% hi, 0.3% si
>
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 7555 root 20 0 1760 528 436 R 100 0.0 0:15.79 nc
> 7563 root 20 0 3632 268 204 R 100 0.0 0:13.13 loop
>
> Notes:
> * Both tasks show 100% CPU, even when one of them is stuck on a CPU thats
> processing 70% softirq.
> * no hardirq time.
>
>
> With "Part 1" patches:
> Cpu0 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si
> Cpu1 : 100.0% us, 0.0% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.0% si
> Cpu2 : 2.0% us, 30.6% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 67.4% si
> Cpu3 : 0.7% us, 0.7% sy, 0.3% ni, 98.3% id, 0.0% wa, 0.0% hi, 0.0% si
>
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 6289 root 20 0 3632 268 204 R 100 0.0 2:18.67 loop
> 5737 root 20 0 1760 528 436 R 33 0.0 0:26.72 nc
>
> Notes:
> * Tasks show 100% CPU and 33% CPU that correspond to their non-irq exec time.
> * no hardirq time.
>
>
> With "Part 1 + Part 2" patches:
> Cpu0 : 1.3% us, 1.0% sy, 0.3% ni, 97.0% id, 0.0% wa, 0.0% hi, 0.3% si
> Cpu1 : 99.3% us, 0.0% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.7% hi, 0.0% si
> Cpu2 : 1.3% us, 31.5% sy, 0.0% ni, 0.0% id, 0.0% wa, 8.3% hi, 58.9% si
> Cpu3 : 1.0% us, 2.0% sy, 0.3% ni, 95.0% id, 0.0% wa, 0.7% hi, 1.0% si
>
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 20929 root 20 0 3632 268 204 R 99 0.0 3:48.25 loop
> 20796 root 20 0 1760 528 436 R 33 0.0 2:38.65 nc
>
> Notes:
> * Both task exec time and hard irq time reported correctly.
> * hi and si time are based on fine granularity info and not on samples.
> * getrusage would give proper utime/stime split not including irq times
> in that ratio.
> * Other places that report user/sys time like, cgroup cpuacct.stat will
> now include only non-irq exectime.
>
> This patch:
Your 0/x seem repeated in here for some reason... I would expect on the
below little bit.
> Cleanup patch, freeing up PF_KSOFTIRQD and use per_cpu ksoftirqd pointer
> instead, as suggested by Eric Dumazet.
>
> Tested-by: Shaun Ruffell <sruffell@digium.com>
> Signed-off-by: Venkatesh Pallipadi <venki@google.com>
> ---
next prev parent reply other threads:[~2010-12-22 9:17 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-22 1:08 [PATCH 0/5] Proper kernel irq time reporting -v2 Venkatesh Pallipadi
2010-12-22 1:09 ` [PATCH 1/5] Free up pf flag PF_KSOFTIRQD -v2 Venkatesh Pallipadi
2010-12-22 9:17 ` Peter Zijlstra [this message]
2011-01-26 12:11 ` [tip:sched/core] softirqs: Free up pf flag PF_KSOFTIRQD tip-bot for Venkatesh Pallipadi
2010-12-22 1:09 ` [PATCH 2/5] Add nsecs_to_cputime64 interface for asm-generic -v2 Venkatesh Pallipadi
2010-12-22 8:30 ` Martin Schwidefsky
2010-12-22 14:23 ` Venkatesh Pallipadi
2010-12-22 15:25 ` Martin Schwidefsky
2011-01-26 12:12 ` [tip:sched/core] time: Add nsecs_to_cputime64 interface for asm-generic tip-bot for Venkatesh Pallipadi
2010-12-22 1:09 ` [PATCH 3/5] Refactor account_system_time separating id-update -v2 Venkatesh Pallipadi
2011-01-26 12:12 ` [tip:sched/core] sched: Refactor account_system_time separating id-update tip-bot for Venkatesh Pallipadi
2010-12-22 1:09 ` [PATCH 4/5] Export ns irqtimes through /proc/stat -v2 Venkatesh Pallipadi
2011-01-26 12:13 ` [tip:sched/core] sched: Export ns irqtimes through /proc/stat tip-bot for Venkatesh Pallipadi
2010-12-22 1:09 ` [PATCH 5/5] Account ksoftirqd time as cpustat softirq -v2 Venkatesh Pallipadi
2010-12-22 9:20 ` Peter Zijlstra
2010-12-22 13:59 ` Venkatesh Pallipadi
2010-12-22 14:05 ` Peter Zijlstra
2010-12-22 14:17 ` Venkatesh Pallipadi
2011-01-26 12:13 ` [tip:sched/core] softirqs: Account ksoftirqd time as cpustat softirq tip-bot for Venkatesh Pallipadi
2011-01-06 15:31 ` [PATCH 0/5] Proper kernel irq time reporting -v2 Shaun Ruffell
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=1293009446.2170.71.camel@laptop \
--to=peterz@infradead.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=eric.dumazet@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=pjt@google.com \
--cc=schwidefsky@de.ibm.com \
--cc=sruffell@digium.com \
--cc=tglx@linutronix.de \
--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.