Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r1126:a8d0ff724dea Date: 2014-03-31 15:45 +0200 http://bitbucket.org/pypy/stmgc/changeset/a8d0ff724dea/
Log: Count the spinlooping time diff --git a/c7/stm/pages.c b/c7/stm/pages.c --- a/c7/stm/pages.c +++ b/c7/stm/pages.c @@ -30,9 +30,14 @@ static void mutex_pages_lock(void) { + if (__sync_lock_test_and_set(&pages_ctl.mutex_pages, 1) == 0) + return; + + int previous = change_timing_state(STM_TIME_SPIN_LOOP); while (__sync_lock_test_and_set(&pages_ctl.mutex_pages, 1) != 0) { spin_loop(); } + change_timing_state(previous); } static void mutex_pages_unlock(void) diff --git a/c7/stm/timing.c b/c7/stm/timing.c --- a/c7/stm/timing.c +++ b/c7/stm/timing.c @@ -55,6 +55,7 @@ "minor gc", "major gc", "sync pause", + "spin loop", }; void stm_flush_timing(stm_thread_local_t *tl, int verbose) diff --git a/c7/stmgc.h b/c7/stmgc.h --- a/c7/stmgc.h +++ b/c7/stmgc.h @@ -70,6 +70,7 @@ STM_TIME_MINOR_GC, STM_TIME_MAJOR_GC, STM_TIME_SYNC_PAUSE, + STM_TIME_SPIN_LOOP, _STM_TIME_N }; _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit