perfcounters: fix a few minor cleanliness issues
This fixes three issues noticed by Arnd Bergmann: - Add #ifdef __KERNEL__ and move some things around in perf_counter.h to make sure only the bits that userspace needs are exported to userspace. - Use __u64, __s64, __u32 types in the structs exported to userspace rather than u64, s64, u32. - Make the sys_perf_counter_open syscall available to the SPUs on Cell platforms. And one issue that I noticed in looking at the code again: - Wrap the perf_counter_open syscall with SYSCALL_DEFINE4 so we get the proper handling of int arguments on ppc64 (and some other 64-bit architectures). Reported-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
@@ -1690,9 +1690,9 @@ perf_counter_alloc(struct perf_counter_hw_event *hw_event,
|
||||
* @cpu: target cpu
|
||||
* @group_fd: group leader counter fd
|
||||
*/
|
||||
asmlinkage int
|
||||
sys_perf_counter_open(struct perf_counter_hw_event *hw_event_uptr __user,
|
||||
pid_t pid, int cpu, int group_fd)
|
||||
SYSCALL_DEFINE4(perf_counter_open,
|
||||
const struct perf_counter_hw_event __user *, hw_event_uptr,
|
||||
pid_t, pid, int, cpu, int, group_fd)
|
||||
{
|
||||
struct perf_counter *counter, *group_leader;
|
||||
struct perf_counter_hw_event hw_event;
|
||||
|
||||
Reference in New Issue
Block a user