Bug 111107 - 726a31df705b causes pipeline creation to use up to 5x more memory (which is not freed on pipeline destruction)
Summary: 726a31df705b causes pipeline creation to use up to 5x more memory (which is n...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/radeon (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-07-11 10:59 UTC by Timothy Arceri
Modified: 2019-07-18 00:45 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Timothy Arceri 2019-07-11 10:59:26 UTC
For example using fossilize-replay to replay the fossilze db from the free to play game WarFrame [1] results in memory use going from 1GB+ before the commit to 5GB+ after the commit.

I've looked into it briefly and fixed one memory leak from the commit but extra memory use remained unchanged. I'm noting it here in a bug report until this is investigated properly. 

[1] ~/.steam/steamapps/shadercache/230410/fozpipelinesv4/steam_pipeline_cache.foz
Comment 1 Timothy Arceri 2019-07-15 01:59:50 UTC
Just updating this to note that this has nothing to do with the pipeline cache. In fact setting RADV_DEBUG=nocache results in slightly higher memory on top of this.
Comment 2 Timothy Arceri 2019-07-17 04:41:36 UTC
Fix:

https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1360
Comment 3 Timothy Arceri 2019-07-18 00:45:47 UTC
Should be fixed by:

commit a20a9d0c5e7e9d4468cfcf58fc5a4e9ad8f90610
Author: Timothy Arceri <tarceri@itsqueeze.com>
Date:   Wed Jul 17 14:20:55 2019 +1000

    radv: dont store disasm string unless keep_shader_info flag set
    
    This fixes the memory use regression from bug 111107.
    
    Fixes: 726a31df705 ("radv: Add the concept of radv shader binaries.")
    
    Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111107


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.