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 <hsiangkai@gmail.com>
Reviewed-on: http://openocd.zylin.com/1608
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
This commit is contained in:
Hsiangkai Wang 2013-08-30 13:45:42 +08:00 committed by Spencer Oliver
parent d4d62ea8a8
commit cf39210725
1 changed files with 3 additions and 1 deletions

View File

@ -3394,7 +3394,9 @@ static void writeGmon(uint32_t *samples, uint32_t sampleNum, const char *filenam
int addressSpace = max - min; int addressSpace = max - min;
assert(addressSpace >= 2); 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; uint32_t numBuckets = addressSpace;
if (numBuckets > maxBuckets) if (numBuckets > maxBuckets)
numBuckets = maxBuckets; numBuckets = maxBuckets;