From 6b3d5b5990b9b306e13575e60d7e1c8ce264b0ef Mon Sep 17 00:00:00 2001 From: Ben Gamari Date: Wed, 18 Nov 2015 12:22:02 +0100 Subject: rts: Kill PAPI support 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 --- rts/sm/GC.c | 18 ------------------ rts/sm/GCThread.h | 12 ++++-------- 2 files changed, 4 insertions(+), 26 deletions(-) (limited to 'rts/sm') diff --git a/rts/sm/GC.c b/rts/sm/GC.c index e6a23395eb..95d995144c 100644 --- a/rts/sm/GC.c +++ b/rts/sm/GC.c @@ -45,7 +45,6 @@ #include "RetainerProfile.h" #include "LdvProfile.h" #include "RaiseAsync.h" -#include "Papi.h" #include "Stable.h" #include "CheckUnload.h" @@ -792,10 +791,6 @@ new_gc_thread (nat n, gc_thread *t) init_gc_thread(t); -#ifdef USE_PAPI - t->papi_events = -1; -#endif - for (g = 0; g < RtsFlags.GcFlags.generations; g++) { ws = &t->gens[g]; @@ -1028,14 +1023,6 @@ gcWorkerThread (Capability *cap) debugTrace(DEBUG_gc, "GC thread %d standing by...", gct->thread_index); ACQUIRE_SPIN_LOCK(&gct->gc_spin); -#ifdef USE_PAPI - // start performance counters in this thread... - if (gct->papi_events == -1) { - papi_init_eventset(&gct->papi_events); - } - papi_thread_start_gc1_count(gct->papi_events); -#endif - init_gc_thread(gct); traceEventGcWork(gct->cap); @@ -1057,11 +1044,6 @@ gcWorkerThread (Capability *cap) pruneSparkQueue(cap); #endif -#ifdef USE_PAPI - // count events in this thread towards the GC totals - papi_thread_stop_gc1_count(gct->papi_events); -#endif - // Wait until we're told to continue RELEASE_SPIN_LOCK(&gct->gc_spin); gct->wakeup = GC_THREAD_WAITING_TO_CONTINUE; diff --git a/rts/sm/GCThread.h b/rts/sm/GCThread.h index d42b89f973..ca90717b81 100644 --- a/rts/sm/GCThread.h +++ b/rts/sm/GCThread.h @@ -129,7 +129,7 @@ typedef struct gc_thread_ { bdescr * free_blocks; // a buffer of free blocks for this thread // during GC without accessing the block - // allocators spin lock. + // allocators spin lock. // These two lists are chained through the STATIC_LINK() fields of static // objects. Pointers are tagged with the current static_flag, so before @@ -161,21 +161,17 @@ typedef struct gc_thread_ { // optimise it into a per-thread // variable). - rtsBool failed_to_evac; // failure to evacuate an object typically - // Causes it to be recorded in the mutable + rtsBool failed_to_evac; // failure to evacuate an object typically + // Causes it to be recorded in the mutable // object list rtsBool eager_promotion; // forces promotion to the evac gen // instead of the to-space // corresponding to the object - W_ thunk_selector_depth; // used to avoid unbounded recursion in + W_ thunk_selector_depth; // used to avoid unbounded recursion in // evacuate() for THUNK_SELECTOR -#ifdef USE_PAPI - int papi_events; -#endif - // ------------------- // stats -- cgit v1.2.1