summaryrefslogtreecommitdiff
path: root/rts/Papi.c
Commit message (Collapse)AuthorAgeFilesLines
* rts: Kill PAPI supportBen Gamari2015-11-181-396/+0
| | | | | | | | | | | | | | | This hasn't been used for a very long time and will soon be superceded by perf_events support. Test Plan: validate Reviewers: austin, simonmar Reviewed By: austin, simonmar Subscribers: thomie, erikd Differential Revision: https://phabricator.haskell.org/D1493
* Revert "rts: add Emacs 'Local Variables' to every .c file"Simon Marlow2014-09-291-8/+0
| | | | This reverts commit 39b5c1cbd8950755de400933cecca7b8deb4ffcd.
* rts: add Emacs 'Local Variables' to every .c fileAustin Seipp2014-07-281-0/+8
| | | | | | | | This will hopefully help ensure some basic consistency in the forward by overriding buffer variables. In particular, it sets the wrap length, the offset to 4, and turns off tabs. Signed-off-by: Austin Seipp <austin@well-typed.com>
* rts: delint Papi.cAustin Seipp2014-07-281-4/+6
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* rts: delint/detab/dewhitespace Papi.cAustin Seipp2014-07-281-45/+45
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Add #undefs for posix source symbols when including papi.hdmp@rice.edu2010-06-241-0/+5
| | | | | | | | | | | Validation fails when validating with PAPI support (i.e. GhcRtsWithPapi = YES in validate.mk). The problem is that the posix symbols are defined by a header included from papi.h. Compilation then fails because these symbols are redefined in PosixSource.h. This patch adds an undefine for the posix symbols after including papi.h and before including PosixSource.h. The #undefines are localized to Papi.c since that is the only case where they are getting defined twice.
* Add support for collecting PAPI native eventsdmp@rice.edu2010-06-221-4/+14
| | | | | | | | | | | | | | | | | | | | | This patch extends the PAPI support in the RTS to allow collection of native events. PAPI can collect data for native events that are exposed by the hardware beyond the PAPI present events. The native events supported on your hardware can found by using the papi_native_avail tool. The RTS already allows users to specify PAPI preset events from the command line. This patch extends that support to allow users to specify native events. The changes needed are: 1) New option (#) for the RTS PAPI flag for native events. For example, to collect the native event 0x40000000, use ./a.out +RTS -a#0x40000000 -sstderr 2) Update the PAPI_FLAGS struct to store whether the user specified event is a papi preset or a native event 3) Update init_countable_events function to add the native events after parsing the event code and decoding the name using PAPI_event_code_to_name
* Use StgWord64 instead of ullongIan Lynagh2010-04-211-2/+2
| | | | | | This patch also fixes ullong_format_string (renamed to showStgWord64) so that it works with values outside the 32bit range (trac #3979), and simplifies the without-commas case.
* RTS tidyup sweep, first phaseSimon Marlow2009-08-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first phase of this tidyup is focussed on the header files, and in particular making sure we are exposinng publicly exactly what we need to, and no more. - Rts.h now includes everything that the RTS exposes publicly, rather than a random subset of it. - Most of the public header files have moved into subdirectories, and many of them have been renamed. But clients should not need to include any of the other headers directly, just #include the main public headers: Rts.h, HsFFI.h, RtsAPI.h. - All the headers needed for via-C compilation have moved into the stg subdirectory, which is self-contained. Most of the headers for the rest of the RTS APIs have moved into the rts subdirectory. - I left MachDeps.h where it is, because it is so widely used in Haskell code. - I left a deprecated stub for RtsFlags.h in place. The flag structures are now exposed by Rts.h. - Various internal APIs are no longer exposed by public header files. - Various bits of dead code and declarations have been removed - More gcc warnings are turned on, and the RTS code is more warning-clean. - More source files #include "PosixSource.h", and hence only use standard POSIX (1003.1c-1995) interfaces. There is a lot more tidying up still to do, this is just the first pass. I also intend to standardise the names for external RTS APIs (e.g use the rts_ prefix consistently), and declare the internal APIs as hidden for shared libraries.
* improvements to PAPI supportsimonmar@microsoft.com2007-11-201-81/+96
| | | | | | | - major (multithreaded) GC is measured separately from minor GC - events to measure can now be specified on the command line, e.g prog +RTS -a+PAPI_TOT_CYC
* fix warningsSimon Marlow2007-11-011-4/+4
|
* Refactor PAPI support, and add profiling of multithreaded GCSimon Marlow2007-10-311-57/+137
|
* also count total dispatch stalls in +RTS -asSimon Marlow2007-10-301-0/+5
|
* One more PAPI measurement, dropped precise cycle counting and replaced it ↵Alexey Rodriguez2006-12-211-5/+52
| | | | with instructions.
* whitespaceSimon Marlow2006-11-201-1/+0
|
* Cosmetic improvements, no change in Papi functionality.mrchebas@gmail.com2006-11-091-70/+82
|
* Selection of PAPI events via RTS command linemrchebas@gmail.com2006-11-091-33/+57
|
* Addition of PAPI to RTSmrchebas@gmail.com2006-11-081-0/+197
This patch still requires the addition of the USE_PAPI define to compile with PAPI. Also, programs must be compiled and linked with the appropriate library flags for papi.