diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-25 20:05:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-25 20:05:40 -0400 |
commit | bdc6b758e443c21c39a14c075e5b7e01f095b37b (patch) | |
tree | 40b98b5abd501cc232f41af03eb078282d7a6327 /arch/sparc/kernel/perf_event.c | |
parent | c4a346002bc06046bc51910a7ade3a0c650c3d34 (diff) | |
parent | 0c9f790fcbdaf8cfb6dd7fb4e88fadf55082e37e (diff) |
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf updates from Ingo Molnar:
"Mostly tooling and PMU driver fixes, but also a number of late updates
such as the reworking of the call-chain size limiting logic to make
call-graph recording more robust, plus tooling side changes for the
new 'backwards ring-buffer' extension to the perf ring-buffer"
* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (34 commits)
perf record: Read from backward ring buffer
perf record: Rename variable to make code clear
perf record: Prevent reading invalid data in record__mmap_read
perf evlist: Add API to pause/resume
perf trace: Use the ptr->name beautifier as default for "filename" args
perf trace: Use the fd->name beautifier as default for "fd" args
perf report: Add srcline_from/to branch sort keys
perf evsel: Record fd into perf_mmap
perf evsel: Add overwrite attribute and check write_backward
perf tools: Set buildid dir under symfs when --symfs is provided
perf trace: Only auto set call-graph to "dwarf" when syscalls are being traced
perf annotate: Sort list of recognised instructions
perf annotate: Fix identification of ARM blt and bls instructions
perf tools: Fix usage of max_stack sysctl
perf callchain: Stop validating callchains by the max_stack sysctl
perf trace: Fix exit_group() formatting
perf top: Use machine->kptr_restrict_warned
perf trace: Warn when trying to resolve kernel addresses with kptr_restrict=1
perf machine: Do not bail out if not managing to read ref reloc symbol
perf/x86/intel/p4: Trival indentation fix, remove space
...
Diffstat (limited to 'arch/sparc/kernel/perf_event.c')
-rw-r--r-- | arch/sparc/kernel/perf_event.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/sparc/kernel/perf_event.c b/arch/sparc/kernel/perf_event.c index a4b8b5aed21c..710f3278d448 100644 --- a/arch/sparc/kernel/perf_event.c +++ b/arch/sparc/kernel/perf_event.c | |||
@@ -1711,7 +1711,7 @@ static int __init init_hw_perf_events(void) | |||
1711 | } | 1711 | } |
1712 | pure_initcall(init_hw_perf_events); | 1712 | pure_initcall(init_hw_perf_events); |
1713 | 1713 | ||
1714 | void perf_callchain_kernel(struct perf_callchain_entry *entry, | 1714 | void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, |
1715 | struct pt_regs *regs) | 1715 | struct pt_regs *regs) |
1716 | { | 1716 | { |
1717 | unsigned long ksp, fp; | 1717 | unsigned long ksp, fp; |
@@ -1756,7 +1756,7 @@ void perf_callchain_kernel(struct perf_callchain_entry *entry, | |||
1756 | } | 1756 | } |
1757 | } | 1757 | } |
1758 | #endif | 1758 | #endif |
1759 | } while (entry->nr < sysctl_perf_event_max_stack); | 1759 | } while (entry->nr < entry->max_stack); |
1760 | } | 1760 | } |
1761 | 1761 | ||
1762 | static inline int | 1762 | static inline int |
@@ -1769,7 +1769,7 @@ valid_user_frame(const void __user *fp, unsigned long size) | |||
1769 | return (__range_not_ok(fp, size, TASK_SIZE) == 0); | 1769 | return (__range_not_ok(fp, size, TASK_SIZE) == 0); |
1770 | } | 1770 | } |
1771 | 1771 | ||
1772 | static void perf_callchain_user_64(struct perf_callchain_entry *entry, | 1772 | static void perf_callchain_user_64(struct perf_callchain_entry_ctx *entry, |
1773 | struct pt_regs *regs) | 1773 | struct pt_regs *regs) |
1774 | { | 1774 | { |
1775 | unsigned long ufp; | 1775 | unsigned long ufp; |
@@ -1790,10 +1790,10 @@ static void perf_callchain_user_64(struct perf_callchain_entry *entry, | |||
1790 | pc = sf.callers_pc; | 1790 | pc = sf.callers_pc; |
1791 | ufp = (unsigned long)sf.fp + STACK_BIAS; | 1791 | ufp = (unsigned long)sf.fp + STACK_BIAS; |
1792 | perf_callchain_store(entry, pc); | 1792 | perf_callchain_store(entry, pc); |
1793 | } while (entry->nr < sysctl_perf_event_max_stack); | 1793 | } while (entry->nr < entry->max_stack); |
1794 | } | 1794 | } |
1795 | 1795 | ||
1796 | static void perf_callchain_user_32(struct perf_callchain_entry *entry, | 1796 | static void perf_callchain_user_32(struct perf_callchain_entry_ctx *entry, |
1797 | struct pt_regs *regs) | 1797 | struct pt_regs *regs) |
1798 | { | 1798 | { |
1799 | unsigned long ufp; | 1799 | unsigned long ufp; |
@@ -1822,11 +1822,11 @@ static void perf_callchain_user_32(struct perf_callchain_entry *entry, | |||
1822 | ufp = (unsigned long)sf.fp; | 1822 | ufp = (unsigned long)sf.fp; |
1823 | } | 1823 | } |
1824 | perf_callchain_store(entry, pc); | 1824 | perf_callchain_store(entry, pc); |
1825 | } while (entry->nr < sysctl_perf_event_max_stack); | 1825 | } while (entry->nr < entry->max_stack); |
1826 | } | 1826 | } |
1827 | 1827 | ||
1828 | void | 1828 | void |
1829 | perf_callchain_user(struct perf_callchain_entry *entry, struct pt_regs *regs) | 1829 | perf_callchain_user(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs) |
1830 | { | 1830 | { |
1831 | u64 saved_fault_address = current_thread_info()->fault_address; | 1831 | u64 saved_fault_address = current_thread_info()->fault_address; |
1832 | u8 saved_fault_code = get_thread_fault_code(); | 1832 | u8 saved_fault_code = get_thread_fault_code(); |