[Chapel Merge] Warn if fifo tasks gets a thread limit

Branch: refs/heads/main
Revision: c0f33ab
Author: aconsroe-hpe
Link: Warn if fifo tasks gets a thread limit by aconsroe-hpe · Pull Request #18871 · chapel-lang/chapel · GitHub
Log Message:

Merge pull request #18871 from aconsroe-hpe/warn/fifo-threads-limit

Warn if fifo tasks gets a thread limit

reviewed by @ronawho

When CHPL_TASKS=fifo and CHPL_RT_NUM_THREADS_PER_LOCALE is set in the
environment, there is a much higher chance we deadlock because we
might run out of threads to do work that would unblock blocked
threads.

This adds a warning in this situation and an accompanying setting
CHPL_RT_NUM_THREADS_PER_LOCALE_QUIET that can be set to suppress this warning

Add documentation on how to suppress the warning

Closes #18867

Passes paratest with CHPL_TASKS=fifo

Modified Files:
A test/parallel/taskPool/figueroa/ManyThreads.tasks-fifo.good

A test/parallel/taskPool/figueroa/ManyThreads.tasks-none.good
A test/parallel/taskPool/figueroa/ManyThreads.tasks-qthreads.good
R test/domains/sungeun/assoc/stress.numthr.prediff
R test/parallel/begin/dinan/mvm_coforall.prediff
R test/parallel/coforall/bradc/manyThreads-inorder.prediff
M doc/rst/developer/bestPractices/TestSystem.rst
M doc/rst/usingchapel/tasks.rst
M runtime/include/chpl-tasks.h
M runtime/src/chpl-tasks.c
M runtime/src/tasks/qthreads/tasks-qthreads.c
M runtime/src/threads/pthreads/threads-pthreads.c
M test/domains/sungeun/assoc/stress.numthr.execenv
M test/parallel/begin/dinan/mvm_coforall.execenv
M test/parallel/coforall/bradc/manyThreads-inorder.execenv
M test/parallel/taskPool/figueroa/ManyThreads.prediff
M test/runtime/gbt/numThreadsSymbolicLogical.execenv
M test/runtime/gbt/numThreadsSymbolicPhysical.execenv
M util/test/sub_test.py

Compare: https://github.com/chapel-lang/chapel/compare/48319798e59b...c0f33ab26835