shallow.c: stop abusing COMMIT_SLAB_SIZE for paint_info's memory pools
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Tue, 6 Dec 2016 12:53:35 +0000 (19:53 +0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 7 Dec 2016 23:44:31 +0000 (15:44 -0800)
We need to allocate a "big" block of memory in paint_alloc(). The exact
size does not really matter. But the pool size has no relation with
commit-slab. Stop using that macro here.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
shallow.c
index 57b5fc7b9251043bcb5f9e47501ae3df53c1c294..91aa59d4b82175bd14afc0eb34fa767ed39cdab1 100644 (file)
--- a/shallow.c
+++ b/shallow.c
@@ -353,6 +353,8 @@ void remove_nonexistent_theirs_shallow(struct shallow_info *info)
 
 define_commit_slab(ref_bitmap, uint32_t *);
 
+#define POOL_SIZE (512 * 1024)
+
 struct paint_info {
        struct ref_bitmap ref_bitmap;
        unsigned nr_bits;
@@ -369,9 +371,9 @@ static uint32_t *paint_alloc(struct paint_info *info)
        if (!info->pool_count || info->free + size > info->end) {
                info->pool_count++;
                REALLOC_ARRAY(info->pools, info->pool_count);
-               info->free = xmalloc(COMMIT_SLAB_SIZE);
+               info->free = xmalloc(POOL_SIZE);
                info->pools[info->pool_count - 1] = info->free;
-               info->end = info->free + COMMIT_SLAB_SIZE;
+               info->end = info->free + POOL_SIZE;
        }
        p = info->free;
        info->free += size;