diff options
author | Andrii Simiklit <andrii.simiklit@globallogic.com> | 2020-01-15 12:34:38 +0200 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2020-03-04 08:27:39 -0800 |
commit | 1defcf02b49975a92e20997e5c5bd41e7794677f (patch) | |
tree | 35a5d19c86531a6840a2b25cd49862da4764b704 /.pick_status.json | |
parent | 3d203789a93ae69d4e438b28171686871cc07c7e (diff) |
Revert "glx: convert glx_config_create_list to one big calloc"
This reverts commit 35fc7bdf0e6ad6547e39099e7060a3d89539b56d.
Unfortunately mentioned commit introduced a memory leak because
`driwindowsMapConfigs` and `createDriMode` functions allocate
small memory portions for each element:
21,576 (232 direct, 21,344 indirect) bytes in 1 blocks are definitely lost in loss record 1,411 of 1,414
at 0x483A7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x5D4AA09: createDriMode (dri_common.c:291)
by 0x5D4ABF5: driConvertConfigs (dri_common.c:310)
by 0x5D58414: dri3_create_screen (dri3_glx.c:945)
by 0x5D39829: AllocAndFetchScreenConfigs (glxext.c:815)
by 0x5D39C57: __glXInitialize (glxext.c:941)
by 0x5D3290A: GetGLXPrivScreenConfig (glxcmds.c:174)
by 0x5D34F38: glXQueryExtensionsString (glxcmds.c:1307)
by 0x4F83038: glXQueryExtensionsString (in /usr/local/lib/libGL.so.1.7.0)
by 0x4F2EA6B: ??? (in /usr/lib/x86_64-linux-gnu/libwaffle-1.so.0.6.0)
by 0x4F2A0D7: waffle_display_connect (in /usr/lib/x86_64-linux-gnu/libwaffle-1.so.0.6.0)
by 0x498F42A: wfl_checked_display_connect (piglit-util-waffle.h:74)
There is one more thing which disallow us to easily fix it are different element sizes
for instance: `glx_config_create_list` allocates memory just for `glx_config`,
`driwindowsMapConfigs` for `driwindows_config` and
`createDriMode` for `__GLXDRIconfigPrivate`.
Yes it is possible but size of such fix
will be more big and complex than original one.
So it make sense only if the malloc overhead
really is a big problem there.
Acked-by: Eric Engestrom <eric@engestrom.ch>
Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3406>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3406>
(cherry picked from commit 311c82e1923f63070b198881d90c1098f4ff7a08)
Diffstat (limited to '.pick_status.json')
-rw-r--r-- | .pick_status.json | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/.pick_status.json b/.pick_status.json index 4756005ed94..414cbf394c5 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -94,7 +94,7 @@ "description": "Revert \"glx: convert glx_config_create_list to one big calloc\"", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "35fc7bdf0e6ad6547e39099e7060a3d89539b56d" }, |