mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-25 05:34:00 +08:00
1a960b402a
This patch introduces multiplexing support for the Oprofile kernel module. It basically adds a new function pointer in oprofile_operator allowing each architecture to supply its callback to switch between different sets of event when the timer expires. Userspace tools can modify the time slice through /dev/oprofile/time_slice. It also modifies the number of counters exposed to the userspace through /dev/oprofile. For example, the number of counters for AMD CPUs are changed to 32 and multiplexed in the sets of 4. Signed-off-by: Jason Yeh <jason.yeh@amd.com> Signed-off-by: Robert Richter <robert.richter@amd.com> Cc: oprofile-list <oprofile-list@lists.sourceforge.net> Signed-off-by: Ingo Molnar <mingo@elte.hu>
31 lines
587 B
C
31 lines
587 B
C
/**
|
|
* @file op_counter.h
|
|
*
|
|
* @remark Copyright 2002 OProfile authors
|
|
* @remark Read the file COPYING
|
|
*
|
|
* @author John Levon
|
|
*/
|
|
|
|
#ifndef OP_COUNTER_H
|
|
#define OP_COUNTER_H
|
|
|
|
#define OP_MAX_COUNTER 32
|
|
|
|
/* Per-perfctr configuration as set via
|
|
* oprofilefs.
|
|
*/
|
|
struct op_counter_config {
|
|
unsigned long count;
|
|
unsigned long save_count_low;
|
|
unsigned long enabled;
|
|
unsigned long event;
|
|
unsigned long kernel;
|
|
unsigned long user;
|
|
unsigned long unit_mask;
|
|
};
|
|
|
|
extern struct op_counter_config counter_config[];
|
|
|
|
#endif /* OP_COUNTER_H */
|