From b4c5c7cbf5421890723b9c9766f3a280725ba2aa Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 18 Aug 2020 08:26:40 -0400 Subject: [PATCH] pan/mdg: Free previous liveness Before we drop the reference. 160 calls with 0B peak consumption from: 0xffffbd9d2fc3 in ?? pan_compute_liveness at ../src/panfrost/util/pan_liveness.c:127 in /home/alyssa/rockchip_dri.so mir_compute_liveness at ../src/panfrost/midgard/midgard_liveness.c:55 in /home/alyssa/rockchip_dri.so midgard_opt_dead_code_eliminate at ../src/panfrost/midgard/midgard_opt_dce.c:118 in /home/alyssa/rockchip_dri.so Signed-off-by: Alyssa Rosenzweig Cc: mesa-stable Reviewed-by: Tomeu Vizoso Part-of: (cherry picked from commit 8dd38e5a3e68d67d6050f8bcba28cf3514ef1eef) --- .pick_status.json | 2 +- src/panfrost/util/pan_liveness.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 75c6c1e16c3..beb42c79f92 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -553,7 +553,7 @@ "description": "pan/mdg: Free previous liveness", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/panfrost/util/pan_liveness.c b/src/panfrost/util/pan_liveness.c index 9772feb1a9c..0ec9652b59d 100644 --- a/src/panfrost/util/pan_liveness.c +++ b/src/panfrost/util/pan_liveness.c @@ -120,11 +120,13 @@ pan_compute_liveness( _mesa_hash_pointer, _mesa_key_pointer_equal); - /* Allocate */ + /* Free any previous liveness, and allocate */ + + pan_free_liveness(blocks); list_for_each_entry(pan_block, block, blocks, link) { - block->live_in = rzalloc_array(NULL, uint16_t, temp_count); - block->live_out = rzalloc_array(NULL, uint16_t, temp_count); + block->live_in = rzalloc_array(block, uint16_t, temp_count); + block->live_out = rzalloc_array(block, uint16_t, temp_count); } /* Initialize the work list with the exit block */