git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
perf: Correctly align perf event tracing buffer
[safe/jmp/linux-2.6]
/
kernel
/
hw_breakpoint.c
diff --git
a/kernel/hw_breakpoint.c
b/kernel/hw_breakpoint.c
index
8a5c7d5
..
03808ed
100644
(file)
--- a/
kernel/hw_breakpoint.c
+++ b/
kernel/hw_breakpoint.c
@@
-360,8
+360,8
@@
EXPORT_SYMBOL_GPL(register_user_hw_breakpoint);
int modify_user_hw_breakpoint(struct perf_event *bp, struct perf_event_attr *attr)
{
u64 old_addr = bp->attr.bp_addr;
int modify_user_hw_breakpoint(struct perf_event *bp, struct perf_event_attr *attr)
{
u64 old_addr = bp->attr.bp_addr;
+ u64 old_len = bp->attr.bp_len;
int old_type = bp->attr.bp_type;
int old_type = bp->attr.bp_type;
- int old_len = bp->attr.bp_len;
int err = 0;
perf_event_disable(bp);
int err = 0;
perf_event_disable(bp);
@@
-413,17
+413,17
@@
EXPORT_SYMBOL_GPL(unregister_hw_breakpoint);
*
* @return a set of per_cpu pointers to perf events
*/
*
* @return a set of per_cpu pointers to perf events
*/
-struct perf_event **
+struct perf_event *
__percpu
*
register_wide_hw_breakpoint(struct perf_event_attr *attr,
perf_overflow_handler_t triggered)
{
register_wide_hw_breakpoint(struct perf_event_attr *attr,
perf_overflow_handler_t triggered)
{
- struct perf_event **cpu_events, **pevent, *bp;
+ struct perf_event *
__percpu
*cpu_events, **pevent, *bp;
long err;
int cpu;
cpu_events = alloc_percpu(typeof(*cpu_events));
if (!cpu_events)
long err;
int cpu;
cpu_events = alloc_percpu(typeof(*cpu_events));
if (!cpu_events)
- return ERR_PTR(-ENOMEM);
+ return
(void __percpu __force *)
ERR_PTR(-ENOMEM);
get_online_cpus();
for_each_online_cpu(cpu) {
get_online_cpus();
for_each_online_cpu(cpu) {
@@
-451,7
+451,7
@@
fail:
put_online_cpus();
free_percpu(cpu_events);
put_online_cpus();
free_percpu(cpu_events);
- return ERR_PTR(err);
+ return
(void __percpu __force *)
ERR_PTR(err);
}
EXPORT_SYMBOL_GPL(register_wide_hw_breakpoint);
}
EXPORT_SYMBOL_GPL(register_wide_hw_breakpoint);
@@
-459,7
+459,7
@@
EXPORT_SYMBOL_GPL(register_wide_hw_breakpoint);
* unregister_wide_hw_breakpoint - unregister a wide breakpoint in the kernel
* @cpu_events: the per cpu set of events to unregister
*/
* unregister_wide_hw_breakpoint - unregister a wide breakpoint in the kernel
* @cpu_events: the per cpu set of events to unregister
*/
-void unregister_wide_hw_breakpoint(struct perf_event **cpu_events)
+void unregister_wide_hw_breakpoint(struct perf_event *
__percpu
*cpu_events)
{
int cpu;
struct perf_event **pevent;
{
int cpu;
struct perf_event **pevent;
@@
-489,5
+489,4
@@
struct pmu perf_ops_bp = {
.enable = arch_install_hw_breakpoint,
.disable = arch_uninstall_hw_breakpoint,
.read = hw_breakpoint_pmu_read,
.enable = arch_install_hw_breakpoint,
.disable = arch_uninstall_hw_breakpoint,
.read = hw_breakpoint_pmu_read,
- .unthrottle = hw_breakpoint_pmu_unthrottle
};
};