Stanislav Fomichev
3415d8b851
perf timechart: Fix wrong SVG height
...
If we call perf timechart with -p 0 arguments, it means we don't want
any tasks related data. It works, but space for tasks data is reserved
in the generated SVG. Remove this unused empty space via passing 0 as
count to the open_svg.
Signed-off-by: Stanislav Fomichev <stfomichev@yandex-team.ru >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: David Ahern <dsahern@gmail.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1390217980-22424-2-git-send-email-stfomichev@yandex-team.ru
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-20 16:19:08 -03:00
Ingo Molnar
45e6af0636
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
...
Pull perf improvements and fixes from Arnaldo Carvalho de Melo:
Infrastructure changes:
* Improve callchain processing by removing unnecessary work. (Frederic Weisbecker)
* Fix comm override error handling (Frederic Weisbecker)
* Improve 'perf probe' exit path, release resources (Masami Hiramatsu)
* Improve libtraceevent plugins exit path, allowing the registering of
an unregister handler to be called at exit time (Namhyung Kim)
* Add an alias to the build test makefile (make -C tools/perf build-test)
(Namhyung Kim)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2014-01-19 13:09:01 +01:00
Frederic Weisbecker
2a29190c04
perf tools: Remove unnecessary callchain cursor state restore on unmatch
...
If a new callchain branch doesn't match a single entry of the node that
it is given against comparison in append_chain(), then the cursor is
expected to be at the same position as it was before the comparison
loop.
As such, there is no need to restore the cursor position on exit in case
of non matching branches.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Reviewed-by: Namhyung Kim <namhyung@kernel.org >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: David Ahern <dsahern@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Stephane Eranian <eranian@google.com >
Link: http://lkml.kernel.org/r/1389713836-13375-4-git-send-email-fweisbec@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-17 11:25:24 -03:00
Frederic Weisbecker
b965bb4106
perf callchain: Spare double comparison of callchain first entry
...
When a new callchain child branch matches an existing one in the rbtree,
the comparison of its first entry is performed twice:
1) From append_chain_children() on branch lookup
2) If 1) reports a match, append_chain() then compares all entries of
the new branch against the matching node in the rbtree, and this
comparison includes the first entry of the new branch again.
Lets shortcut this by performing the whole comparison only from
append_chain() which then returns the result of the comparison between
the first entry of the new branch and the iterating node in the rbtree.
If the first entry matches, the lookup on the current level of siblings
stops and propagates to the children of the matching nodes.
This results in less comparisons performed by the CPU.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Namhyung Kim <namhyung@kernel.org >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: David Ahern <dsahern@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Stephane Eranian <eranian@google.com >
Link: http://lkml.kernel.org/r/1389713836-13375-3-git-send-email-fweisbec@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-17 11:11:01 -03:00
Frederic Weisbecker
3178f58b98
perf tools: Do proper comm override error handling
...
The comm overriding API ignores memory allocation failures by silently
keeping the previous and out of date comm.
As a result, the user may get buggy events without ever being notified
about the problem and its source.
Lets start to fix this by propagating the error from the API. Not all
callers may be doing proper error handling on comm set yet but this is
the first step toward it.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
Acked-by: Namhyung Kim <namhyung@kernel.org >
Cc: Adrian Hunter <adrian.hunter@intel.com >
Cc: David Ahern <dsahern@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Stephane Eranian <eranian@google.com >
Link: http://lkml.kernel.org/r/1389713836-13375-2-git-send-email-fweisbec@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:44:39 -03:00
Masami Hiramatsu
99ca423387
perf symbols: Export elf_section_by_name and reuse
...
Remove duplicated elf_section_by_name() functions from unwind.c and
probe-event.c and use one exported elf_section_by_name() instance
defined in symbol-elf.c.
Note that this also moves get_text_start_address() to merge
HAVE_DWARF_SUPPORT defined area.
Reported-by: David Ahern <dsahern@gmail.com >
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com >
Cc: "David A. Long" <dave.long@linaro.org >
Cc: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org >
Cc: David Ahern <dsahern@gmail.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Oleg Nesterov <oleg@redhat.com >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: yrl.pp-manager.tt@hitachi.com
Link: http://lkml.kernel.org/r/20140116093949.24403.38093.stgit@kbuild-fedora.novalocal
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:29:44 -03:00
Masami Hiramatsu
e53b00d382
perf probe: Release all dynamically allocated parameters
...
To fix a memory leak, release all dynamically allocated
options/parameters in params data structure. This also
introduces/exports some init/clear routines.
Reported-by: David Ahern <dsahern@gmail.com >
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com >
Cc: "David A. Long" <dave.long@linaro.org >
Cc: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org >
Cc: David Ahern <dsahern@gmail.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Oleg Nesterov <oleg@redhat.com >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: yrl.pp-manager.tt@hitachi.com
Link: http://lkml.kernel.org/r/20140116093947.24403.80118.stgit@kbuild-fedora.novalocal
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:29:02 -03:00
Masami Hiramatsu
981d05adf2
perf probe: Release allocated probe_trace_event if failed
...
To fix a memory leak, release all allocated probe_trace_event on the
error path of try_to_find_probe_trace_events.
Reported-by: David Ahern <dsahern@gmail.com >
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com >
Cc: "David A. Long" <dave.long@linaro.org >
Cc: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org >
Cc: David Ahern <dsahern@gmail.com >
Cc: Ingo Molnar <mingo@redhat.com >
Cc: Namhyung Kim <namhyung@kernel.org >
Cc: Oleg Nesterov <oleg@redhat.com >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: yrl.pp-manager.tt@hitachi.com
Link: http://lkml.kernel.org/r/20140116093944.24403.30228.stgit@kbuild-fedora.novalocal
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:50 -03:00
Namhyung Kim
a7077234d2
perf tools: Add 'build-test' make target
...
Currently various build test can be performed using a Makefile named
tests/make, so one needs to remember and specify it with -f option on
command line.
Add the 'build-test' target in the main Makefile as a shortcut.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung.kim@lge.com >
Cc: Paul Mackerras <paulus@samba.org >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Link: http://lkml.kernel.org/r/1389837173-3632-1-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:26 -03:00
Namhyung Kim
bf6b3a95ff
tools lib traceevent: Unregister handler when xen plugin is unloaded
...
The function handler should be unregistered when the plugin is unloaded
otherwise it'll try to access invalid memory.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Acked-by: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung.kim@lge.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Steven Rostedt <rostedt@goodmis.org >
Link: http://lkml.kernel.org/r/1389839478-5887-13-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:25 -03:00
Namhyung Kim
a157112cfc
tools lib traceevent: Unregister handler when scsi plugin is unloaded
...
The function handler should be unregistered when the plugin is unloaded
otherwise it'll try to access invalid memory.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Acked-by: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung.kim@lge.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Steven Rostedt <rostedt@goodmis.org >
Link: http://lkml.kernel.org/r/1389839478-5887-12-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:25 -03:00
Namhyung Kim
0247a967d4
tools lib traceevent: Unregister handler when jbd2 plugin is is unloaded
...
The function handlers should be unregistered when the plugin unloaded
otherwise they'll try to access invalid memory.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Acked-by: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung.kim@lge.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Steven Rostedt <rostedt@goodmis.org >
Link: http://lkml.kernel.org/r/1389839478-5887-11-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:25 -03:00
Namhyung Kim
6024cf3898
tools lib traceevent: Unregister handler when cfg80211 plugin is unloaded
...
The function handler should be unregistered when the plugin is unloaded
otherwise it'll try to access invalid memory.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Acked-by: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung.kim@lge.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Steven Rostedt <rostedt@goodmis.org >
Link: http://lkml.kernel.org/r/1389839478-5887-10-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:25 -03:00
Namhyung Kim
ec7c6debdd
tools lib traceevent: Unregister handler when mac80211 plugin is unloaded
...
The event handler should be unregistered when the plugin is unloaded
otherwise it'll try to access invalid memory.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Acked-by: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung.kim@lge.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Steven Rostedt <rostedt@goodmis.org >
Link: http://lkml.kernel.org/r/1389839478-5887-9-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:25 -03:00
Namhyung Kim
02bafd377c
tools lib traceevent: Unregister handler when sched_switch plugin is unloaded
...
The event handlers should be unregistered when the plugin is unloaded
otherwise they'll try to access invalid memory.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Acked-by: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung.kim@lge.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Steven Rostedt <rostedt@goodmis.org >
Link: http://lkml.kernel.org/r/1389839478-5887-8-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:25 -03:00
Namhyung Kim
354a2bd031
tools lib traceevent: Unregister handler when kvm plugin is unloaded
...
The kvm handlers should be unregistered when the plugin is unloaded
otherwise they'll try to access invalid memory.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Acked-by: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung.kim@lge.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Steven Rostedt <rostedt@goodmis.org >
Link: http://lkml.kernel.org/r/1389839478-5887-7-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:24 -03:00
Namhyung Kim
11e99c5541
tools lib traceevent: Unregister handler when kmem plugin is unloaded
...
The kmem handlers should be unregistered when the plugin is unloaded
otherwise they'll try to access invalid memory.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Acked-by: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung.kim@lge.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Steven Rostedt <rostedt@goodmis.org >
Link: http://lkml.kernel.org/r/1389839478-5887-6-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:24 -03:00
Namhyung Kim
4061edaa54
tools lib traceevent: Unregister handler when hrtimer plugin is unloaded
...
The timer handlers should be unregistered when the plugin is unloaded
otherwise they'll try to access invalid memory.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Acked-by: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung.kim@lge.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Steven Rostedt <rostedt@goodmis.org >
Link: http://lkml.kernel.org/r/1389839478-5887-5-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:24 -03:00
Namhyung Kim
ac668c7b7d
tools lib traceevent: Unregister handler when function plugin is unloaded
...
The function handler should be unregistered when the plugin is unloaded
otherwise it'll try to access invalid memory.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Acked-by: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung.kim@lge.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Steven Rostedt <rostedt@goodmis.org >
Link: http://lkml.kernel.org/r/1389839478-5887-4-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:24 -03:00
Namhyung Kim
20c7e5abbd
tools lib traceevent: Add pevent_unregister_print_function()
...
When a plugin unloaded it needs to unregister its print handler from
pevent.
So add an unregister function to do it.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Acked-by: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung.kim@lge.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Steven Rostedt <rostedt@goodmis.org >
Link: http://lkml.kernel.org/r/1389839478-5887-3-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:24 -03:00
Namhyung Kim
ad13701d49
tools lib traceevent: Add pevent_unregister_event_handler()
...
When a plugin is unloaded it needs to unregister its handler from pevent.
So add an unregister function to do it.
Signed-off-by: Namhyung Kim <namhyung@kernel.org >
Reviewed-by: Jiri Olsa <jolsa@redhat.com >
Acked-by: Steven Rostedt <rostedt@goodmis.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Jiri Olsa <jolsa@redhat.com >
Cc: Namhyung Kim <namhyung.kim@lge.com >
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Steven Rostedt <rostedt@goodmis.org >
Link: http://lkml.kernel.org/r/1389839478-5887-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2014-01-16 16:26:24 -03:00
Ingo Molnar
3e7e09dbd1
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
...
Pull perf/core updates from Arnaldo Carvalho de Melo:
Changes in user visible interfaces:
* Rename 'record's --no-delay option to --no-buffering, better reflecting its
purpose and freeing up '--delay' to take the place of '--initial-delay', so that
'record' and 'stat' are consistent.
Refactorings:
* Get rid of die() and friends (good riddance!) in libtraceevent (Namhyung Kim)
Infrastructure enhancements:
* Fix cross build problems related to pkgconfig and CROSS_COMPILE not being
propagated to the feature tests, leading to features being tested in the
host and then being enabled on the target. (Mark Rutland)
* Fix pointer-integer size mismatch in some libtraceevent plugins (Mark Rutland)
* Fix build error due to zfree() cast (Namhyung Kim)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2014-01-16 09:34:01 +01:00
Ingo Molnar
860fc2f264
Merge branch 'perf/urgent' into perf/core
...
Pick up the latest fixes, refresh the development tree.
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2014-01-16 09:33:30 +01:00
Robert Richter
bee09ed91c
perf/x86/amd/ibs: Fix waking up from S3 for AMD family 10h
...
On AMD family 10h we see following error messages while waking up from
S3 for all non-boot CPUs leading to a failed IBS initialization:
Enabling non-boot CPUs ...
smpboot: Booting Node 0 Processor 1 APIC 0x1
[Firmware Bug]: cpu 1, try to use APIC500 (LVT offset 0) for vector 0x400, but the register is already in use for vector 0xf9 on another cpu
perf: IBS APIC setup failed on cpu #1
process: Switch to broadcast mode on CPU1
CPU1 is up
...
ACPI: Waking up from system sleep state S3
Reason for this is that during suspend the LVT offset for the IBS
vector gets lost and needs to be reinialized while resuming.
The offset is read from the IBSCTL msr. On family 10h the offset needs
to be 1 as offset 0 is used for the MCE threshold interrupt, but
firmware assings it for IBS to 0 too. The kernel needs to reprogram
the vector. The msr is a readonly node msr, but a new value can be
written via pci config space access. The reinitialization is
implemented for family 10h in setup_ibs_ctl() which is forced during
IBS setup.
This patch fixes IBS setup after waking up from S3 by adding
resume/supend hooks for the boot cpu which does the offset
reinitialization.
Marking it as stable to let distros pick up this fix.
Signed-off-by: Robert Richter <rric@kernel.org >
Signed-off-by: Peter Zijlstra <peterz@infradead.org >
Cc: <stable@vger.kernel.org > v3.2..
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Link: http://lkml.kernel.org/r/1389797849-5565-1-git-send-email-rric.net@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2014-01-16 09:19:50 +01:00
Peter Zijlstra
c026b3591e
x86, mm, perf: Allow recursive faults from interrupts
...
Waiman managed to trigger a PMI while in a emulate_vsyscall() fault,
the PMI in turn managed to trigger a fault while obtaining a stack
trace. This triggered the sig_on_uaccess_error recursive fault logic
and killed the process dead.
Fix this by explicitly excluding interrupts from the recursive fault
logic.
Reported-and-Tested-by: Waiman Long <waiman.long@hp.com >
Fixes: e00b12e64b ("perf/x86: Further optimize copy_from_user_nmi()")
Cc: Aswin Chandramouleeswaran <aswin@hp.com >
Cc: Scott J Norton <scott.norton@hp.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net >
Cc: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Peter Zijlstra <peterz@infradead.org >
Link: http://lkml.kernel.org/r/20140110200603.GJ7572@laptop.programming.kicks-ass.net
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2014-01-16 09:19:48 +01:00