From cf39210725cff5db40c992fb753588b2d3e47109 Mon Sep 17 00:00:00 2001 From: Hsiangkai Wang Date: Fri, 30 Aug 2013 13:45:42 +0800 Subject: [PATCH] target: increase the maximum number of buckets I do not know what is the reasonable number of buckets. If there are enough buckets, the result will be accurate. I propose increase the maximum number of buckets to 128K. If the size of program text section is less than 256KB, every two bytes will be occupied by one buckets. (The minimum size of one buckets is 2 bytes in gprof implementation.) Change-Id: If9147743cefdc36f40f21e6dc73b9b28f28c9e1e Signed-off-by: Hsiangkai Wang Reviewed-on: http://openocd.zylin.com/1608 Tested-by: jenkins Reviewed-by: Spencer Oliver --- src/target/target.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/target/target.c b/src/target/target.c index 1ea1a6166..ab35d6abe 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -3394,7 +3394,9 @@ static void writeGmon(uint32_t *samples, uint32_t sampleNum, const char *filenam int addressSpace = max - min; assert(addressSpace >= 2); - static const uint32_t maxBuckets = 16 * 1024; /* maximum buckets. */ + /* FIXME: What is the reasonable number of buckets? + * The profiling result will be more accurate if there are enough buckets. */ + static const uint32_t maxBuckets = 128 * 1024; /* maximum buckets. */ uint32_t numBuckets = addressSpace; if (numBuckets > maxBuckets) numBuckets = maxBuckets;