Commit Graph
10 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Sonnet 5 973a10473a ParallelLoop: make loop tasks cancellable to avoid hang on Teardown
SimpleParallelTask/LoopRangeTask never overrode Cancellable(), so a
ThreadManager::Teardown() racing with an in-flight parallel loop would
drop them without ever calling counter_->Count(), leaving anyone
blocked in WaitableCounter::Wait() stuck forever. Cancel() now counts
down the same as a normal completion.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4QAoxV2KY7ek4PcZw3WvY
2026-08-09 19:03:28 +02:00
Henrik Rydgård e59aa11987 Raise the limits for when we use parallelism in ParallelMemcpy 2026-08-07 11:44:01 +02:00
Henrik Rydgård 3743b5dea6 Add new minimal-overhead RunParallel function 2024-12-29 10:48:00 +01:00
Unknown W. Brackets 88ba003f46 ThreadManager: Add a simple priority field.
Currently, not actually respected.
2023-02-02 17:08:24 -08:00
Henrik Rydgård 81f0c3a8e4 Address feedback (except the mailbox refcount) 2021-06-13 10:16:53 +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 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 446c2c027e Get rid of the PrioritizedWorkQueue. Instead just queue tasks on the ThreadManager. 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