From 5c891f3840a7a330c96d7203d4bb5be6fa033724 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 30 Nov 2010 17:49:55 +0000 Subject: perf session: Allocate chunks of sample objects The ordered sample code allocates singular reference objects struct sample_queue which have 48byte size on 64bit and 20 bytes on 32bit. That's silly. Allocate ~64k sized chunks and hand them out. Performance gain: ~ 15% Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Frederic Weisbecker LKML-Reference: <20101130163820.398713983@linutronix.de> Signed-off-by: Thomas Gleixner Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/session.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'tools/perf/util/session.h') diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h index e4a7ff2ba8d5..5bf6efa3788a 100644 --- a/tools/perf/util/session.h +++ b/tools/perf/util/session.h @@ -19,7 +19,10 @@ struct ordered_samples { u64 max_timestamp; struct list_head samples; struct list_head sample_cache; + struct list_head to_free; + struct sample_queue *sample_buffer; struct sample_queue *last_sample; + int sample_buffer_idx; }; struct perf_session { -- cgit v1.2.1