Commit graph

87 commits

Author SHA1 Message Date
Unknown W. Brackets
3ac669f80b Core: Fix some minor gcc warnings. 2021-09-13 08:13:14 -07:00
Henrik Rydgård
0d9d360b07 ThreadManager cleanups 2021-09-08 23:24:00 +02:00
Jan Beich
ae39923223 Thread: set names on BSDs after 062566b67c 2021-08-10 16:44:44 +00:00
Jan Beich
5b7557acd4 Thread: unbreak on BSDs after 50d9d7ea6f
Common/Thread/ThreadUtil.cpp:149:2: error: use of undeclared identifier 'pthread_threadid_np'
        pthread_threadid_np(NULL, &tid);
        ^
2021-08-10 16:44:41 +00:00
Stuart Kenny
96454fcbb6 Revert removal of Teardown call
As per review recommendation.
2021-07-08 15:39:51 +01:00
Stuart Kenny
02a24cdb7d Fix black screen on multiple libretro content loads.
Moves ThreadPool teardown to retro_unload_game. Gives ThreadPool threads some breathing room to terminate before game load starts spamming it with tasks.
2021-07-08 08:34:48 +01:00
Henrik Rydgård
15a2373f04 Implement thread debug id with the syscall instead of gettid().
See #14545
2021-06-21 01:27:17 +02:00
Henrik Rydgård
692a54ea74 An attempt at cleaning up the checks in ThreadUtil 2021-06-19 14:54:36 +02:00
Henrik Rydgård
c92775d26b Try a slightly rougher fix for libretro builds
(our builds work, but not their CI)
2021-06-14 22:44:27 +02:00
Henrik Rydgård
727b84ce5e Possible fix for reported problem with gettid() in libretro 2021-06-14 18:07:24 +02:00
Unknown W. Brackets
8ae3f5eb41 Android: Fix logical CPU count.
Otherwise bad things happen.
2021-06-13 12:47:11 -07:00
Unknown W. Brackets
cdcd77a931 Core: Correct relocation error check. 2021-06-13 10:51:51 -07:00
Henrik Rydgård
6d634f0c96 Mailbox: Address feedback 2021-06-13 11:27:12 +02:00
Henrik Rydgård
81f0c3a8e4 Address feedback (except the mailbox refcount) 2021-06-13 10:16:53 +02:00
Henrik Rydgård
1d59560409 Make use of hyperthreading for worker threads. Still cap to 16 workers. 2021-06-13 00:05:18 +02:00
Henrik Rydgård
62eadd2dac typo, unnecessary 2021-06-12 23:47:34 +02:00
Henrik Rydgård
2d6a73792b Untested libretro fixes, misc 2021-06-12 23:42:52 +02:00
Henrik Rydgård
ac9cc26a6d Simplifiy WaitableCounter. Fixes it on Mac/ARM.
Not completely sure why it didn't work before...
2021-06-12 23:08:07 +02:00
Henrik Rydgård
50d9d7ea6f Unittest buildfixes on mac 2021-06-12 22:42:10 +02:00
Henrik Rydgård
5b64a41a97 ParallelLoop: A bit smarter straggler handling. 2021-06-12 22:04:55 +02:00
Henrik Rydgård
3be5c7bd9a Make the minimum items per thread explicit. Found some bugs, optional arguments are evil. 2021-06-12 21:21:28 +02:00
Henrik Rydgård
0fa27ff9d7 Autodetect number of threads (remove setting). Fix some bugs. 2021-06-12 21:06:59 +02:00
Henrik Rydgård
dc94cb8b04 Fix memory leak 2021-06-12 13:03:54 +02:00
Henrik Rydgård
a9e9929a72 Change the policy for number of threads 2021-06-12 13:03:54 +02:00
Henrik Rydgård
5fd15c06a3 Code cleanup 2021-06-12 13:03:54 +02:00
Henrik Rydgård
0f6a90098b Remove experimental unused stuff. 2021-06-12 13:03:53 +02:00
Henrik Rydgård
06663c478d Rename setCurrentThreadName to SetCurrentThreadName 2021-06-12 13:03:53 +02:00
Henrik Rydgård
78f068d7ea Fix a way the threadmanager could get stuck. 2021-06-12 13:03:53 +02:00
Henrik Rydgård
446c2c027e Get rid of the PrioritizedWorkQueue. Instead just queue tasks on the ThreadManager. 2021-06-12 13:03:53 +02:00
Henrik Rydgård
34f8fc557f GameInfoCache: Don't expose the workqueue. Was unused anyway. 2021-06-12 13:03:53 +02:00
Henrik Rydgård
73871b9b7e Implement new thread manager, port stuff to it. 2021-06-12 13:03:53 +02:00
Henrik Rydgård
f4a6d291e1 Common: Capitalize setCurrentThreadName(). 2021-04-30 23:02:36 -07:00
Henrik Rydgård
e6aa841b78 Common: Get rid of Executor.cpp/h.
There was only one implementation.
2021-04-30 22:33:34 -07:00
Unknown W. Brackets
4f96169357 Core: Init memory on multiple threads.
Also init volatile at the same time for consistency.
2021-04-16 00:53:50 -07:00
Unknown W. Brackets
b2f3f06768 Common: Set a min size on threadpool work chunks.
This should avoid slicing loops, etc. into too many chunks.  Generalize
the memcpy a bit.
2021-04-15 23:59:02 -07:00
Unknown W. Brackets
639dd67130 Common: Allow threadpool size up to 16.
In Config, we allow 16, so this just matches that.
2021-04-15 23:56:34 -07:00
Henrik Rydgård
15382d5f94 Move threading utils from native to Common 2020-10-01 09:27:25 +02:00