mesa/src/util
Pierre-Eric Pelloux-Prayer 7357ce19a2 util/u_queue: rework UTIL_QUEUE_INIT_SCALE_THREADS to scale faster
The original code waiting for the queue to be full before adding more
threads. This makes the thread count grow slowly, especially if the
queue also uses UTIL_QUEUE_INIT_RESIZE_IF_FULL.

This commit changes this behavior: now a new thread is spawned if we're
adding a job to a non-empty queue because this means that the existing
threads fail to process jobs faster than they're queued.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16273>
2022-05-13 14:40:56 +00:00
..
format util: change util_format_snorm8_to_sint8 -> snorm_to_sint for radeonsi 2022-04-28 12:44:13 +00:00
indices u_primconvert: Handle take_index_buffer_ownership 2022-05-02 16:58:20 +00:00
perf misc: replace #ifdef\s\s__cplusplus with #ifdef\s__cplusplus 2022-04-21 14:43:39 +00:00
sha1 util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
tests util/bitset: Support larger ranges in BITSET_TEST/CLEAR_RANGE 2022-05-10 11:23:14 -05:00
00-mesa-defaults.conf drirc: Set limit_trig_input_range option for the Wolfenstein Youngblood 2022-05-13 06:47:53 +00:00
anon_file.c util: use anonymous file for memory fd creation 2021-10-27 15:26:52 +00:00
anon_file.h
bigmath.h
bitscan.c
bitscan.h util: Add util_widen_mask function. 2021-12-03 18:29:13 +00:00
bitset.h util/bitset: Support larger ranges in BITSET_TEST/CLEAR_RANGE 2022-05-10 11:23:14 -05:00
blob.c util/blob: Add align helpers 2022-04-22 19:38:52 +00:00
blob.h util/blob: Add align helpers 2022-04-22 19:38:52 +00:00
build_id.c
build_id.h util: add missing extern C 2020-09-25 20:09:08 +00:00
cnd_monotonic.h c11/threads: Re-align return values for timed waits 2021-11-16 10:02:08 -06:00
compiler.h util: Add support for clang::fallthrough. 2021-11-09 20:51:14 +00:00
compress.c meson, util: Make zlib optional again 2021-03-19 19:33:59 +00:00
compress.h meson, util: Make zlib optional again 2021-03-19 19:33:59 +00:00
crc32.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
crc32.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
dag.c util/dag: Add dag_add_edge_max_data 2021-11-17 13:41:47 +00:00
dag.h util/dag: Add dag_add_edge_max_data 2021-11-17 13:41:47 +00:00
debug.c
debug.h Revert "util: Add helpers for various one-time-init patters" 2020-11-25 09:44:11 +00:00
detect_os.h
disk_cache.c util/disk_cache: rename MESA_GLSL_CACHE envvar 2022-03-17 11:15:53 +01:00
disk_cache.h util/disk_cache: add nocopy variant of disk cache store function 2021-06-11 03:09:22 +00:00
disk_cache_os.c util/disk_cache: rename MESA_GLSL_CACHE envvar 2022-03-17 11:15:53 +01:00
disk_cache_os.h util/disk_cache: make MESA_DISK_CACHE_READ_ONLY_FOZ_DBS a relative path 2021-03-04 04:07:46 +00:00
double.c
double.h
driconf.h driconf: Add a limit_trig_input_range option 2022-05-13 06:47:53 +00:00
driconf_static.py driconf: Fix unhandled tags in static conf 2022-01-14 22:09:50 +00:00
enum_operators.h util: tune signatures of generated enum operators 2021-05-14 11:00:52 +00:00
fast_idiv_by_const.c util: Add and use functions to calculate min and max int for a size 2021-08-03 12:55:02 -07:00
fast_idiv_by_const.h
fast_urem_by_const.h
format_r11g11b10f.h
format_rgb9e5.h
format_srgb.h
format_srgb.py python: drop python2 support 2021-08-14 21:44:32 +00:00
fossilize_db.c util/fossilize_db: Fix double free in error handling. 2022-01-24 01:09:21 +00:00
fossilize_db.h util/fossilize_db: Add extra flock mutex. 2021-08-08 13:34:42 +02:00
futex.h src/util/futex.h: fix build on 32-bit architectures using 64-bit time_t 2022-05-03 16:40:22 +00:00
half_float.c util: Keep quiet NaNs quiet when converting to half float. 2022-05-02 23:36:50 +00:00
half_float.h util: Add accessor for util_cpu_caps 2021-02-26 18:31:19 +00:00
hash_table.c util/hash_table: Clear special 0/1 entries for u64 hash table too 2021-11-02 11:02:18 -07:00
hash_table.h util/hash_table: Remove Unicode byte order mark 2022-04-10 23:28:47 +00:00
libsync.h egl+libsync: Add helper to complain about invalid fence fd's 2022-03-04 22:16:20 +00:00
list.h util/list.h: add a function to move an item in a list 2022-04-22 09:39:47 -07:00
log.c util/log: Don't print an extra \n if the format string had one. 2022-04-05 21:37:46 +00:00
log.h util/log: Add support for logging once. 2022-04-06 00:04:14 +00:00
macros.h util: Getting u_debug.h not depends on pipe/* 2022-04-01 01:52:43 +00:00
memstream.c util: Disable memstream for Apple builds 2021-01-08 09:37:14 +00:00
memstream.h includes: add windows lean and mean guard. 2022-01-19 21:54:58 +00:00
mesa-sha1.c util: add SHA1 printing and comparison functions 2021-11-26 11:58:27 +00:00
mesa-sha1.h util: add SHA1 printing and comparison functions 2021-11-26 11:58:27 +00:00
meson.build util: Add some unit tests of the half-float conversions. 2022-05-02 23:36:50 +00:00
os_file.c util: replaced ENODATA with ENOATTR for non-Linux systems 2021-06-28 21:12:24 +03:00
os_file.h misc: replace #ifdef\s\s__cplusplus with #ifdef\s__cplusplus 2022-04-21 14:43:39 +00:00
os_memory.h Fix VMware capitalization. 2020-10-27 15:33:40 -07:00
os_memory_aligned.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
os_memory_debug.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
os_memory_fd.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
os_memory_fd.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
os_memory_stdc.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
os_misc.c util: Remove unused Android options_tbl_lock 2021-04-15 16:01:21 +00:00
os_misc.h misc: replace #ifdef\s\s__cplusplus with #ifdef\s__cplusplus 2022-04-21 14:43:39 +00:00
os_socket.c util: fix possible fd leaks in os_socket_listen_abstract 2020-07-30 10:41:00 +00:00
os_socket.h
os_time.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
os_time.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
ptralloc.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
ralloc.c vulkan: Add vk_asprintf and vk_vasprintf helpers 2021-09-23 21:14:32 +00:00
ralloc.h
rand_xor.c
rand_xor.h
rb_tree.c
rb_tree.h util: Convert rb_tree_test to gtest 2021-10-20 21:40:31 -07:00
register_allocate.c util/ra: Fix numeric overflow during bitset allocation 2021-12-19 13:10:26 -08:00
register_allocate.h ra: Add fast-path support for register classes of contiguous regs. 2021-06-04 19:08:57 +00:00
register_allocate_internal.h util/ra: use adjacency matrix for undirected graph 2021-12-14 09:19:01 +00:00
rgtc.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
rgtc.h
rounding.h util: When building 'ARM64EC', don't use x64 intrinsics which need to be emulated 2021-01-22 17:56:08 +00:00
rwlock.h util: Fix rwlock Windows include for MinGW 2020-10-20 08:33:42 +00:00
set.c util/set: Respect found in search_or_add_pre_hashed 2022-04-22 19:38:52 +00:00
set.h util/set: add macro for destructively iterating set entries 2021-04-07 22:57:27 +00:00
simple_mtx.h util: Add helgrind support for simple_mtx 2020-11-24 21:03:34 +00:00
slab.c util/slab: add slab_zalloc 2022-03-09 08:48:59 +00:00
slab.h util/slab: add slab_zalloc 2022-03-09 08:48:59 +00:00
softfloat.c util: Keep quiet NaNs quiet when converting to half float. 2022-05-02 23:36:50 +00:00
softfloat.h util: implement F16C using inline assembly on x86_64 2020-10-06 21:07:03 -04:00
sparse_array.c
sparse_array.h
string_buffer.c
string_buffer.h
strndup.h
strtod.c
strtod.h
texcompress_rgtc_tmp.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
timespec.h util/timespec: Return overflow from timespec_add_[mn]sec() 2022-04-06 00:38:22 +00:00
u_atomic.c util/u_atomic: fix build on clang archs without 64-bit atomics 2022-02-28 14:28:23 +00:00
u_atomic.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_cpu_detect.c util: Remove util_cpu_detect 2022-04-20 18:44:35 +00:00
u_cpu_detect.h misc: Replace #ifdef\t__cplusplus with #ifdef\s\s__cplusplus 2022-04-21 14:43:39 +00:00
u_debug.c util: limit error-dialogs to win32 2022-04-08 13:15:12 +00:00
u_debug.h misc: Replace #ifdef\t__cplusplus with #ifdef\s\s__cplusplus 2022-04-21 14:43:39 +00:00
u_debug_describe.c util: import u_debug_refcnt, u_hash_table, u_debug_describe from gallium 2021-10-01 14:51:23 +00:00
u_debug_describe.h util: import u_debug_refcnt, u_hash_table, u_debug_describe from gallium 2021-10-01 14:51:23 +00:00
u_debug_memory.c
u_debug_refcnt.c u_debug_refcnt: Don't loop for initial refcounts if the initial value is huge 2022-05-02 16:58:20 +00:00
u_debug_refcnt.h util: import u_debug_refcnt, u_hash_table, u_debug_describe from gallium 2021-10-01 14:51:23 +00:00
u_debug_stack.c u_debug_stack: Lock around stack dumps to prevent interleaving 2022-05-02 16:58:20 +00:00
u_debug_stack.h misc: Replace #ifdef\t__cplusplus with #ifdef\s\s__cplusplus 2022-04-21 14:43:39 +00:00
u_debug_stack_android.cpp gallium/android: Rewrite backtrace helper for android 2020-08-05 18:08:06 +00:00
u_debug_symbol.c u_debug_symbol: Allow re-init of DbgHelp to work around already-initialized issues 2022-05-02 16:58:20 +00:00
u_debug_symbol.h misc: Replace #ifdef\t__cplusplus with #ifdef\s\s__cplusplus 2022-04-21 14:43:39 +00:00
u_drm.h
u_dynarray.h replace 0 with NULL for NULL pointers 2022-01-10 22:53:32 +00:00
u_endian.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_fifo.h util/u_trace: make u_trace usable for other than gallium drivers 2021-09-10 14:58:28 +03:00
u_hash_table.c util: import u_debug_refcnt, u_hash_table, u_debug_describe from gallium 2021-10-01 14:51:23 +00:00
u_hash_table.h util: import u_debug_refcnt, u_hash_table, u_debug_describe from gallium 2021-10-01 14:51:23 +00:00
u_idalloc.c util/idalloc: add util_idalloc_alloc_range 2021-07-09 10:05:46 +00:00
u_idalloc.h util/idalloc: add util_idalloc_alloc_range 2021-07-09 10:05:46 +00:00
u_math.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_math.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_memory.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_memset.h util: add optimised memset64 2021-02-22 00:30:46 +00:00
u_mm.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_mm.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_perfetto.cc util/perfetto: Add one-time init 2021-05-10 15:34:07 +00:00
u_perfetto.h misc: Replace #ifdef\t__cplusplus with #ifdef\s\s__cplusplus 2022-04-21 14:43:39 +00:00
u_printf.c util: Convert util/u_printf.cpp to util/u_printf.c 2022-04-11 03:31:40 +00:00
u_printf.h util: Convert util/u_printf.cpp to util/u_printf.c 2022-04-11 03:31:40 +00:00
u_process.c util: make util_get_process_exec_path work on FreeBSD w/o procfs 2021-10-29 06:06:05 +00:00
u_process.h util/u_process: protect entrypoints for c++ 2022-01-14 20:17:44 +00:00
u_qsort.cpp util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_qsort.h util: Add qsort_r/s args adapter for MSVC and BSD/macOS 2021-06-24 20:05:12 +00:00
u_queue.c util/u_queue: rework UTIL_QUEUE_INIT_SCALE_THREADS to scale faster 2022-05-13 14:40:56 +00:00
u_queue.h util/queue: use simple_mtx_t for finish_lock 2021-10-05 23:46:14 +00:00
u_string.h util: fix gcc vsnprintf overflow 2021-02-19 11:05:38 +00:00
u_thread.h util: Should not use ASSERTED in util_thread_get_time_nano 2022-03-29 23:33:21 +00:00
u_vector.c util/vector: make util_vector_init harder to misuse 2021-10-08 00:15:11 +00:00
u_vector.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_worklist.c util: Add a generic worklist implementation 2022-04-25 23:50:57 +00:00
u_worklist.h util: Add a generic worklist implementation 2022-04-25 23:50:57 +00:00
vl_rbsp.h util/vl: move gallium vl_vlc.h and vl_rbsp.h to shared code. 2021-11-15 21:57:28 +00:00
vl_vlc.h util/vl: move gallium vl_vlc.h and vl_rbsp.h to shared code. 2021-11-15 21:57:28 +00:00
vma.c
vma.h
xmlconfig.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
xmlconfig.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
xxd.py python: drop python2 support 2021-08-14 21:44:32 +00:00
xxhash.h xxhash: update fallthrough comments 2020-12-01 10:04:41 +01:00