aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/oprofile/op_model_amd.c
AgeCommit message (Collapse)Author
2009-01-07oprofile: make new cpu buffer functions part of the apiRobert Richter
This patch creates the new functions oprofile_write_reserve() oprofile_add_data() oprofile_write_commit() and makes them part of the oprofile api. Signed-off-by: Robert Richter <robert.richter@amd.com>
2009-01-07oprofile: use new data sample format for ibsRobert Richter
The new ring buffer implementation allows the storage of samples with different size. This patch implements the usage of the new sample format to store ibs samples in the cpu buffer. Until now, writing to the cpu buffer could lead to incomplete sampling sequences since IBS samples were transfered in multiple samples. Due to a full buffer, data could be lost at any time. This can't happen any more since the complete data is reserved in advance and then stored in a single sample. Signed-off-by: Robert Richter <robert.richter@amd.com>
2009-01-07oprofile: rework implementation of cpu buffer eventsRobert Richter
Special events such as task or context switches are marked with an escape code in the cpu buffer followed by an event code or a task identifier. There is one escape code per event. To make escape sequences also available for data samples the internal cpu buffer format must be changed. The current implementation does not allow the extension of event codes since this would lead to collisions with the task identifiers. To avoid this, this patch introduces an event mask that allows the storage of multiple events with one escape code. Now, task identifiers are stored in the data section of the sample. The implementation also allows the usage of custom data in a sample. As a side effect the new code is much more readable and easier to understand. Signed-off-by: Robert Richter <robert.richter@amd.com>
2009-01-07oprofile: rename variable ibs_allowed to has_ibs in op_model_amd.cRobert Richter
This patch renames ibs_allowed to has_ibs. Varible name fits better now. Signed-off-by: Robert Richter <robert.richter@amd.com>
2008-12-29x86/oprofile: fix pci_dev use count for AMD northbridge devicesRobert Richter
This patch fixes the PCI device use count for AMD northbridge devices. In case of an IBS LVT initialization failure, the PCI device is released now by calling pci_dev_put(). If there are no initialization errors, the devices are released in pci_get_device() while iterating. Signed-off-by: Robert Richter <robert.richter@amd.com>
2008-12-10x86/oprofile: cleanup IBS init/exit functions in op_model_amd.cRobert Richter
Implementation of pairwise init/exit funcions for IBS and IBS NMI setup. There are also some function renames and the removal of forward function declarations. Signed-off-by: Robert Richter <robert.richter@amd.com>
2008-12-10x86/oprofile: reordering IBS code in op_model_amd.cRobert Richter
This is part of the cpu buffer rework. Signed-off-by: Robert Richter <robert.richter@amd.com>
2008-12-10oprofile: whitspace changes onlyRobert Richter
Signed-off-by: Robert Richter <robert.richter@amd.com>
2008-12-10oprofile: comment cleanupRobert Richter
This fixes the coding style of some comments. Signed-off-by: Robert Richter <robert.richter@amd.com>
2008-10-15x86/oprofile: add the logic for enabling additional IBS bitsSuravee Suthikulpanit
This patch adds the logic for enabling additional IBS control bits : * IBS-Fetch IbsRandEn bit (bit 57) * IBS-Op IbsOpCntCtl bit (bit 19) Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> Signed-off-by: Robert Richter <robert.richter@amd.com>
2008-10-15oprofile: more whitespace fixesRobert Richter
Signed-off-by: Robert Richter <robert.richter@amd.com>
2008-10-15oprofile: whitespace fixesRobert Richter
Signed-off-by: Robert Richter <robert.richter@amd.com>
2008-10-15OProfile: Rename IBS sysfs dir into "ibs_op"Robert Richter
The new name is now more close to those used in the spec. Signed-off-by: Robert Richter <robert.richter@amd.com>
2008-10-15OProfile: Rework string handling in setup_ibs_files()Robert Richter
Signed-off-by: Robert Richter <robert.richter@amd.com>
2008-10-15OProfile: Rework oprofile_add_ibs_sample() functionRobert Richter
Code looks much more cleaner now. Signed-off-by: Robert Richter <robert.richter@amd.com>
2008-09-24Revert "Oprofile Multiplexing Patch"Robert Richter
Reverting commit 1a960b402a51d80abf54e3f8e4972374ffe5f22d for the main branch. Multiplexing will be tracked on a separate feature branch. Conflicts: arch/x86/oprofile/nmi_int.c
2008-07-26Oprofile Multiplexing PatchJason Yeh
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>
2008-07-26x86/oprofile: reanaming op_model_athlon.c to op_model_amd.cRobert Richter
Signed-off-by: Robert Richter <robert.richter@amd.com> Cc: oprofile-list <oprofile-list@lists.sourceforge.net> Cc: Barry Kasindorf <barry.kasindorf@amd.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>