From 8335d497e5f644088b96f8c5f0b0db94e5ec40e9 Mon Sep 17 00:00:00 2001 From: Jonathan Gray Date: Sat, 30 Nov 2019 17:36:01 +1100 Subject: [PATCH] anv: use os_get_total_physical_memory() Replace non-portable sysinfo() use with Mesa's os_get_total_physical_memory() Fixes: 060a6434eca ("anv: Advertise larger heap sizes") Signed-off-by: Jonathan Gray Reviewed-by: Jason Ekstrand Part-of: (cherry picked from commit 81b163fb73ae73709d257badf4f5aaf3b63fca4a) --- .pick_status.json | 2 +- src/intel/vulkan/anv_device.c | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 1d029ccb6aa..7219de3882f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3361,7 +3361,7 @@ "description": "anv: use os_get_total_physical_memory()", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "060a6434eca9fb05ca2dfd612f8abd4786ee4549" }, diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 539e391fefb..6a234a87311 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -25,7 +25,6 @@ #include #include #include -#include #include #include #include @@ -37,6 +36,7 @@ #include "util/disk_cache.h" #include "util/mesa-sha1.h" #include "util/os_file.h" +#include "util/os_misc.h" #include "util/u_atomic.h" #include "util/u_string.h" #include "util/driconf.h" @@ -106,10 +106,9 @@ static uint64_t anv_compute_heap_size(int fd, uint64_t gtt_size) { /* Query the total ram from the system */ - struct sysinfo info; - sysinfo(&info); - - uint64_t total_ram = (uint64_t)info.totalram * (uint64_t)info.mem_unit; + uint64_t total_ram; + if (!os_get_total_physical_memory(&total_ram)) + return 0; /* We don't want to burn too much ram with the GPU. If the user has 4GiB * or less, we use at most half. If they have more than 4GiB, we use 3/4.