From: James Morse <james.morse@arm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: mingo@kernel.org, alexander.shishkin@linux.intel.com,
eranian@google.com, linux-kernel@vger.kernel.org,
vince@deater.net, dvyukov@google.com, andi@firstfloor.org,
jolsa@redhat.com, Mark Rutland <mark.rutland@arm.com>,
Will Deacon <Will.Deacon@arm.com>,
wangxg.fnst@cn.fujitsu.com
Subject: Re: [RFC][PATCH 07/12] perf: Simplify/fix perf_event_enable() event scheduling
Date: Tue, 08 Mar 2016 10:04:17 +0000 [thread overview]
Message-ID: <56DEA3A1.3080206@arm.com> (raw)
In-Reply-To: <20160111163229.115404507@infradead.org>
Hi Peter!
On 11/01/16 16:25, Peter Zijlstra wrote:
> Like enable_on_exec, perf_event_enable() event scheduling has problems
> respecting the context hierarchy when trying to schedule events (for
> example, it will try and add a pinned event without first removing
> existing flexible events).
>
> So simplify it by using the new ctx_resched() call which will DTRT.
>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
I'm seeing 'failures' for the ltp test perf_event_open02[0] with v4.5-rcs.
git bisect points to this patch[1].
I suspect the test is over-reliant on the behaviour of the removed code.
This has been seen on arm64 and x86_64[2].
Thanks,
James
[0]
https://github.com/linux-test-project/ltp/blob/master/testcases/kernel/syscalls/perf_event_open/perf_event_open02.c
[1] Bisect log
----------------------------------------
git bisect start
# good: [afd2ff9b7e1b367172f18ba7f693dfb62bdcb2dc] Linux 4.4
git bisect good afd2ff9b7e1b367172f18ba7f693dfb62bdcb2dc
# bad: [18558cae0272f8fd9647e69d3fec1565a7949865] Linux 4.5-rc4
git bisect bad 18558cae0272f8fd9647e69d3fec1565a7949865
# good: [875fc4f5ddf35605581f9a5900c14afef48611f2] Merge branch 'akpm' (patches
from Andrew)
git bisect good 875fc4f5ddf35605581f9a5900c14afef48611f2
# good: [9f273c24ec5f4a6f785bb83e931b3808a07b459e] MAINTAINERS: add/fix git URLs
for various subsystems
git bisect good 9f273c24ec5f4a6f785bb83e931b3808a07b459e
# good: [2c9b3ebd5913c2d1371b749a8057ac32972b410d] Merge tag 'mmc-v4.5-rc1' of
git://git.linaro.org/people/ulf.hansson/mmc
git bisect good 2c9b3ebd5913c2d1371b749a8057ac32972b410d
# bad: [54e3f3e30245abb0d47e3bc53a1b3c75434616f1] Merge tag 'tty-4.5-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
git bisect bad 54e3f3e30245abb0d47e3bc53a1b3c75434616f1
# good: [e1c10879ed59436cde537b723545430b04d4dec0] Merge tag
'platform-drivers-x86-v4.5-2' of
git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
git bisect good e1c10879ed59436cde537b723545430b04d4dec0
# good: [f51d4d7826d64dee2c421267c7bd44c4d52805c5] Merge tag
'hwmon-for-linus-v4.5-rc2' of
git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
git bisect good f51d4d7826d64dee2c421267c7bd44c4d52805c5
# good: [bbfb239a106d41d793f58befdaf5c806e34ea97e] Merge branch
'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect good bbfb239a106d41d793f58befdaf5c806e34ea97e
# bad: [7ab85d4a85160ea2ffc96b1255443cbc83be180f] Merge branch
'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
git bisect bad 7ab85d4a85160ea2ffc96b1255443cbc83be180f
# bad: [45c815f06b80031659c63d7b93e580015d6024dd] perf: Synchronously free aux
pages in case of allocation failure
git bisect bad 45c815f06b80031659c63d7b93e580015d6024dd
# good: [70a0165752944e0be0b1de4a9020473079962c18] perf: Fix cgroup scheduling
in perf_enable_on_exec()
git bisect good 70a0165752944e0be0b1de4a9020473079962c18
# bad: [63e30d3e52d4d85854ce6c761ffc6ab55209a630] perf: Make ctx->is_active and
cpuctx->task_ctx consistent
git bisect bad 63e30d3e52d4d85854ce6c761ffc6ab55209a630
# good: [8833d0e286c12fd4456089a7a553faf4921e4b08] perf: Use task_ctx_sched_out()
git bisect good 8833d0e286c12fd4456089a7a553faf4921e4b08
# bad: [25432ae96a9889774a05bf5f0f6fd8dbcdec5e72] perf: Optimize
perf_sched_events() usage
git bisect bad 25432ae96a9889774a05bf5f0f6fd8dbcdec5e72
# bad: [aee7dbc45f8aa976913de9b352fa6da816f1f3cd] perf: Simplify/fix
perf_event_enable() event scheduling
git bisect bad aee7dbc45f8aa976913de9b352fa6da816f1f3cd
# first bad commit: [aee7dbc45f8aa976913de9b352fa6da816f1f3cd] perf:
Simplify/fix perf_event_enable() event scheduling
----------------------------------------
[2]
----------------------------------------
x86_64, v4.2
nanook@trouble-every-day:~$ ./perf_event_open02 -v
at iteration:0 value:3001278671 time_enabled:378865967 time_running:378865967
at iteration:1 value:3001294516 time_enabled:379206798 time_running:379206798
at iteration:2 value:3001304264 time_enabled:379741658 time_running:379741658
at iteration:3 value:2247456463 time_enabled:381782350 time_running:285882994
perf_event_open02 0 TINFO : overall task clock: 382444297
perf_event_open02 0 TINFO : hw sum: 9004576323, task clock sum: 1146042829
hw counters: 1276985606 1284698955 1291658694 1294253771 1293189575 1285360592
1278429130
task clock counters: 162510606 163544930 164439727 164730880 164600624 163538072
162677990
perf_event_open02 0 TINFO : ratio: 3.00
perf_event_open02 1 TPASS : test passed
----------------------------------------
x86_64, v4.5-rc5:
nanook@trouble-every-day:~$ ./perf_event_open02 -v
at iteration:0 value:3001332678 time_enabled:379409484 time_running:379408991
perf_event_open02 0 TINFO : overall task clock: 381025905
perf_event_open02 0 TINFO : hw sum: 9004621962, task clock sum: 1142038427
hw counters: 2249100352 2254366204 2252915996 2248239410
task clock counters: 285302769 285853299 285787328 285095031
perf_event_open02 0 TINFO : ratio: 3.00
perf_event_open02 1 TFAIL : perf_event_open02.c:333: test failed (ratio
was greater than )
----------------------------------------
next prev parent reply other threads:[~2016-03-08 10:05 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-11 16:24 [RFC][PATCH 00/12] various perf fixes Peter Zijlstra
2016-01-11 16:24 ` [RFC][PATCH 01/12] perf: Add lockdep assertions Peter Zijlstra
2016-01-11 16:25 ` [RFC][PATCH 02/12] perf: Fix cgroup event scheduling Peter Zijlstra
2016-01-11 19:43 ` Stephane Eranian
2016-01-11 22:03 ` Peter Zijlstra
2016-01-11 16:25 ` [RFC][PATCH 03/12] perf: Fix cgroup scheduling in enable_on_exec Peter Zijlstra
2016-01-11 16:25 ` [RFC][PATCH 04/12] perf: Remove stale comment Peter Zijlstra
2016-01-11 16:25 ` [RFC][PATCH 05/12] perf: Fix enable_on_exec event scheduling Peter Zijlstra
2016-01-11 16:25 ` [RFC][PATCH 06/12] perf: Use task_ctx_sched_out() Peter Zijlstra
2016-01-11 16:25 ` [RFC][PATCH 07/12] perf: Simplify/fix perf_event_enable() event scheduling Peter Zijlstra
2016-03-08 10:04 ` James Morse [this message]
2016-03-08 10:26 ` Peter Zijlstra
2016-03-08 10:42 ` James Morse
2016-03-08 11:29 ` Peter Zijlstra
2016-01-11 16:25 ` [RFC][PATCH 08/12] perf: Optimize perf_sched_events usage Peter Zijlstra
2016-01-11 16:25 ` [RFC][PATCH 09/12] perf: Make ctx->is_active and cpuctx->task_ctx consistent Peter Zijlstra
2016-01-11 16:25 ` [RFC][PATCH 10/12] perf: Fix task context scheduling Peter Zijlstra
2016-01-11 16:25 ` [RFC][PATCH 11/12] perf: Specialize perf_event_exit_task() Peter Zijlstra
2016-01-11 16:25 ` [RFC][PATCH 12/12] perf: Collapse and fix event_function_call() users Peter Zijlstra
2016-01-13 10:50 ` Peter Zijlstra
2016-01-13 13:46 ` Alexander Shishkin
2016-01-13 17:30 ` Peter Zijlstra
2016-01-13 15:00 ` Alexander Shishkin
2016-01-13 15:38 ` Alexander Shishkin
2016-01-13 18:10 ` Peter Zijlstra
2016-01-13 20:44 ` Peter Zijlstra
2016-01-14 10:44 ` Peter Zijlstra
2016-01-14 16:30 ` Peter Zijlstra
2016-02-17 22:38 ` Sasha Levin
2016-02-18 7:46 ` Peter Zijlstra
2016-02-18 12:37 ` Peter Zijlstra
2016-01-11 18:44 ` [RFC][PATCH 00/12] various perf fixes Dmitry Vyukov
2016-01-11 19:56 ` Andi Kleen
2016-01-11 22:00 ` Peter Zijlstra
2016-01-12 9:59 ` Ingo Molnar
2016-01-12 10:11 ` Ingo Molnar
2016-01-12 10:57 ` Dmitry Vyukov
2016-01-12 11:00 ` Dmitry Vyukov
2016-01-12 11:01 ` Dmitry Vyukov
2016-01-12 11:26 ` Dmitry Vyukov
2016-01-12 11:35 ` Dmitry Vyukov
2016-01-12 12:01 ` Peter Zijlstra
2016-01-13 15:18 ` Alexander Shishkin
2016-01-13 15:22 ` Dmitry Vyukov
2016-01-13 15:35 ` Alexander Shishkin
2016-01-14 9:35 ` Peter Zijlstra
2016-01-14 10:05 ` Dmitry Vyukov
2016-02-15 15:04 ` Dmitry Vyukov
2016-02-15 15:38 ` Peter Zijlstra
2016-02-15 15:47 ` Dmitry Vyukov
2016-02-15 16:01 ` Vince Weaver
2016-02-15 16:17 ` Peter Zijlstra
2016-02-15 16:29 ` Dmitry Vyukov
2016-02-15 16:29 ` Peter Zijlstra
2016-02-15 16:35 ` Dmitry Vyukov
2016-02-15 16:38 ` Dmitry Vyukov
2016-02-15 16:52 ` Peter Zijlstra
2016-02-15 17:04 ` Dmitry Vyukov
2016-02-15 17:07 ` Peter Zijlstra
2016-02-15 17:45 ` Dmitry Vyukov
2016-02-15 18:01 ` Peter Zijlstra
2016-02-15 18:33 ` Dmitry Vyukov
2016-02-15 16:41 ` Peter Zijlstra
2016-02-15 16:54 ` Dmitry Vyukov
2016-02-15 16:59 ` Peter Zijlstra
2016-01-12 13:13 ` Peter Zijlstra
2016-01-12 13:31 ` Ingo Molnar
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=56DEA3A1.3080206@arm.com \
--to=james.morse@arm.com \
--cc=Will.Deacon@arm.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=andi@firstfloor.org \
--cc=dvyukov@google.com \
--cc=eranian@google.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=vince@deater.net \
--cc=wangxg.fnst@cn.fujitsu.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
Powered by JetHome