# # ChangeLog for libcfa/src/concurrency/ready_queue.cfa # # Generated by Trac 1.2.1 # Apr 27, 2024, 8:35:31 PM Tue, 20 Apr 2021 21:19:07 GMT Thierry Delisle [341aa39] * libcfa/src/concurrency/ready_queue.cfa (modified) Fix bugs in workstealing edge cases: - cutoff was wrong of all local ... Tue, 20 Apr 2021 16:35:52 GMT Thierry Delisle [ddd473f] * libcfa/src/concurrency/locks.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Fix a copy/paste mistake and removed a warning in nodebug Mon, 19 Apr 2021 21:07:16 GMT Thierry Delisle [d2fadeb] * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/stats.cfa (modified) * libcfa/src/concurrency/stats.hfa (modified) Changed stats to make sense with relaxed fifo and work stealing Fri, 16 Apr 2021 18:01:27 GMT Thierry Delisle [5f6a172] * libcfa/src/concurrency/ready_queue.cfa (modified) Fix assertions on ready_queue with workstealling Fri, 16 Apr 2021 16:40:27 GMT Thierry Delisle [431cd4f] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Added alternative to relaxed-fifo scheduler. Disabled by default Thu, 15 Apr 2021 21:02:04 GMT Thierry Delisle [9cc3a18] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/ready_subqueue.hfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Major clean-up before attempting to add new scheduler Thu, 15 Apr 2021 20:13:53 GMT Thierry Delisle [e0d6748] * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Removed unused functions Thu, 15 Apr 2021 20:01:50 GMT Thierry Delisle [78d6c803] * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Removed snzi from ready queue. It hasn't been used in a while and I ... Thu, 15 Apr 2021 15:45:44 GMT Thierry Delisle [a017ee7] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Ready-queue grow/shrink now reassigns the id of all processors. Wed, 14 Apr 2021 19:41:06 GMT Thierry Delisle [a33c113] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Minor changes so using the global RWlock is more concise. Mon, 05 Apr 2021 19:18:12 GMT Thierry Delisle [5cb51502] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Fix stats so they are correctly tallied when called from outside the ... Fri, 02 Apr 2021 01:02:57 GMT Thierry Delisle [7a2972b9] * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/ready_subqueue.hfa (modified) ready queue can now toggle between - lock-based queue - mpsc_queue ... Fri, 02 Apr 2021 00:20:18 GMT Thierry Delisle [c426b03] * libcfa/src/concurrency/ready_queue.cfa (modified) Minor clean-up Fri, 02 Apr 2021 00:07:45 GMT Thierry Delisle [a344425] * libcfa/src/concurrency/ready_queue.cfa (modified) Messed up the condition for external push, fixed now Fri, 02 Apr 2021 00:02:19 GMT Thierry Delisle [fd1f65e] * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/stats.cfa (modified) * libcfa/src/concurrency/stats.hfa (modified) Stats now keep track of external pushes separately Thu, 25 Mar 2021 19:09:01 GMT Thierry Delisle [bd0bdd37] * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Fix how bias is handled in the ready queue to be more consistent with ... Thu, 25 Mar 2021 18:42:38 GMT Thierry Delisle [3143f28] * libcfa/src/concurrency/ready_queue.cfa (modified) Fixed misleading stats counter Fri, 12 Feb 2021 17:24:16 GMT Thierry Delisle [32c2c5e] * libcfa/src/concurrency/ready_queue.cfa (modified) Removed unused variables Fri, 06 Nov 2020 16:22:57 GMT Thierry Delisle [8fc652e0] * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Change usage of TLS to more strongly segregate in kernel and out of ... Tue, 25 Aug 2020 22:08:45 GMT m3zulfiq [ceb7db8] * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/stdlib.hfa (modified) Added alloc interface with backtick and removed polymorphic alloc ... Tue, 25 Aug 2020 16:22:55 GMT Thierry Delisle [5fe7322] * libcfa/src/concurrency/ready_queue.cfa (modified) Implemented reverse-rng strategy Tue, 25 Aug 2020 15:33:44 GMT Thierry Delisle [772411a] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Moved bias to it's own function. Fixed minor assertions triggering. Fri, 21 Aug 2020 03:48:15 GMT Peter A. Buhr [e67a82d] * benchmark/benchcltr.hfa (modified) * benchmark/io/http/options.cfa (modified) * benchmark/io/readv-posix.c (added) * benchmark/io/readv.cfa (modified) * benchmark/readyQ/yield.cfa (modified) * configure.ac (modified) * driver/cc1.cc (modified) * driver/cfa.cc (modified) * libcfa/prelude/bootloader.cf (modified) * libcfa/src/Makefile.am (modified) * libcfa/src/bits/locks.hfa (modified) * libcfa/src/common.hfa (modified) * libcfa/src/concurrency/alarm.hfa (modified) * libcfa/src/concurrency/coroutine.cfa (modified) * libcfa/src/concurrency/invoke.c (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/io/types.hfa (modified) * libcfa/src/concurrency/iocall.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/fwd.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/ready_subqueue.hfa (modified) * libcfa/src/concurrency/stats.cfa (modified) * libcfa/src/concurrency/stats.hfa (modified) * libcfa/src/containers/list.hfa (modified) * libcfa/src/exception.c (modified) * libcfa/src/heap.cfa (modified) * libcfa/src/iostream.cfa (modified) * libcfa/src/iostream.hfa (modified) * libcfa/src/parseargs.cfa (moved) * libcfa/src/parseargs.hfa (moved) * libcfa/src/stdlib.hfa (modified) * src/AST/Attribute.hpp (modified) * src/AST/CVQualifiers.hpp (modified) * src/AST/Convert.cpp (modified) * src/AST/Copy.hpp (added) * src/AST/Decl.cpp (modified) * src/AST/Decl.hpp (modified) * src/AST/Eval.hpp (added) * src/AST/Expr.cpp (modified) * src/AST/Expr.hpp (modified) * src/AST/ForallSubstitutionTable.cpp (added) * src/AST/ForallSubstitutionTable.hpp (added) * src/AST/ForallSubstitutor.hpp (added) * src/AST/Fwd.hpp (modified) * src/AST/GenericSubstitution.cpp (modified) * src/AST/Init.hpp (modified) * src/AST/Node.cpp (modified) * src/AST/Node.hpp (modified) * src/AST/Pass.hpp (modified) * src/AST/Pass.impl.hpp (modified) * src/AST/Pass.proto.hpp (modified) * src/AST/Print.cpp (modified) * src/AST/Stmt.hpp (modified) * src/AST/Type.cpp (modified) * src/AST/Type.hpp (modified) * src/AST/TypeEnvironment.cpp (modified) * src/AST/TypeEnvironment.hpp (modified) * src/AST/TypeSubstitution.cpp (modified) * src/AST/TypeSubstitution.hpp (modified) * src/AST/module.mk (modified) * src/AST/porting.md (modified) * src/Common/Eval.cc (modified) * src/Common/ScopedMap.h (modified) * src/Common/Stats/Heap.cc (modified) * src/Common/Stats/Heap.h (modified) * src/CompilationState.cc (modified) * src/CompilationState.h (modified) * src/InitTweak/InitTweak.cc (modified) * src/Parser/ExpressionNode.cc (modified) * src/ResolvExpr/AdjustExprType.cc (modified) * src/ResolvExpr/Candidate.hpp (modified) * src/ResolvExpr/CandidateFinder.cpp (modified) * src/ResolvExpr/CandidateFinder.hpp (modified) * src/ResolvExpr/CastCost.cc (modified) * src/ResolvExpr/CommonType.cc (modified) * src/ResolvExpr/ConversionCost.cc (modified) * src/ResolvExpr/ConversionCost.h (modified) * src/ResolvExpr/CurrentObject.cc (modified) * src/ResolvExpr/PolyCost.cc (modified) * src/ResolvExpr/PtrsAssignable.cc (modified) * src/ResolvExpr/PtrsCastable.cc (modified) * src/ResolvExpr/RenameVars.cc (modified) * src/ResolvExpr/ResolveTypeof.cc (modified) * src/ResolvExpr/Resolver.cc (modified) * src/ResolvExpr/SatisfyAssertions.cpp (modified) * src/ResolvExpr/SatisfyAssertions.hpp (modified) * src/ResolvExpr/SpecCost.cc (modified) * src/ResolvExpr/Unify.cc (modified) * src/ResolvExpr/typeops.h (modified) * src/SymTab/Autogen.h (modified) * src/SymTab/FixFunction.cc (modified) * src/SymTab/Mangler.cc (modified) * src/SynTree/ApplicationExpr.cc (modified) * src/SynTree/Expression.cc (modified) * src/SynTree/Statement.h (modified) * src/Tuples/Explode.cc (modified) * src/Tuples/Explode.h (modified) * src/Tuples/TupleAssignment.cc (modified) * src/Tuples/TupleExpansion.cc (modified) * src/Tuples/Tuples.cc (modified) * src/config.h.in (modified) * src/main.cc (modified) * tests/.expect/alloc-ERROR.txt (modified) * tests/.expect/castError.txt (modified) * tests/.expect/declarationSpecifier.x64.txt (modified) * tests/.expect/declarationSpecifier.x86.txt (modified) * tests/.expect/gccExtensions.x64.txt (modified) * tests/.expect/gccExtensions.x86.txt (modified) * tests/.expect/init1.txt (modified) * tests/.expect/minmax.txt (modified) * tests/Makefile.am (modified) * tests/alloc.cfa (modified) * tests/errors/.expect/completeType.x64.txt (modified) * tests/errors/.expect/completeType.x86.txt (modified) * tests/exceptions/.expect/conditional-threads.txt (added) * tests/exceptions/.expect/defaults-threads.txt (added) * tests/exceptions/.expect/finally-threads.txt (added) * tests/exceptions/.expect/resume-threads.txt (added) * tests/exceptions/.expect/terminate-threads.txt (added) * tests/exceptions/.expect/trash.txt (added) * tests/exceptions/terminate.cfa (modified) * tests/exceptions/trash.cfa (added) * tests/exceptions/with-threads.hfa (added) * tests/heap.cfa (modified) * tests/linking/.expect/exception-nothreads.txt (added) * tests/linking/.expect/exception-withthreads.txt (added) * tests/linking/exception-nothreads.cfa (added) * tests/linking/exception-withthreads.cfa (added) * tests/linking/withthreads.cfa (modified) * tests/literals.cfa (modified) * tests/minmax.cfa (modified) * tests/pybin/tools.py (modified) * tests/raii/.expect/ctor-autogen-ERR1.txt (modified) * tests/resolutionErrors.cfa (added) * tests/warnings/.expect/self-assignment.txt (modified) fix conflicts Fri, 21 Aug 2020 02:56:27 GMT Peter A. Buhr [fd9b524] * libcfa/src/bits/locks.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) change from asm volatile(pause) to Pause() Thu, 13 Aug 2020 17:19:20 GMT Thierry Delisle [62502cc4] * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Fixed deadlock where threads could acquire the central scheduler lock ... Tue, 11 Aug 2020 21:38:42 GMT Thierry Delisle [343d10e] * libcfa/src/Makefile.am (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/ready_subqueue.hfa (modified) Removed code broken in new-ast out of libcfa Mon, 10 Aug 2020 18:43:02 GMT Thierry Delisle [1eb239e4] * libcfa/src/concurrency/alarm.hfa (modified) * libcfa/src/concurrency/io/setup.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel/startup.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Removed snzi and replaced it with a fast/slow path Fri, 24 Jul 2020 19:42:32 GMT Thierry Delisle [39fc03e] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Fixed ready_queue working with 0/1 processors on cluster Fri, 24 Jul 2020 17:11:39 GMT Thierry Delisle [320ec6fc] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/snzi.hfa (modified) Changed ready_queue_(grow/shrink) to take a target instead of going ... Mon, 20 Jul 2020 19:30:25 GMT Thierry Delisle [28d73c1] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/snzi.hfa (modified) Moved processor registration to constructor Wed, 24 Jun 2020 20:36:20 GMT Thierry Delisle [d72c074] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Added option to bias threads to queues, instead of processors to queues Wed, 24 Jun 2020 17:40:35 GMT Thierry Delisle [52769ba] * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/stats.cfa (modified) * libcfa/src/concurrency/stats.hfa (modified) Added statistics for local success when biased Tue, 23 Jun 2020 20:42:58 GMT Thierry Delisle [13c5e19] * libcfa/src/bits/random.hfa (added) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/ready_subqueue.hfa (added) * libcfa/src/concurrency/snzi.hfa (added) * libcfa/src/concurrency/stats.cfa (modified) * libcfa/src/concurrency/stats.hfa (modified) - Moved snzi and subqueues outside of ready_queue.cfa. - Added ... Fri, 19 Jun 2020 19:49:43 GMT Thierry Delisle [64a7146] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/containers/stackLockFree.hfa (modified) Fixed idle sleep to no-longer use a spinlock, broke registration and ... Fri, 19 Jun 2020 15:22:32 GMT Thierry Delisle [04b5cef] * benchmark/readyQ/yield.cfa (modified) * benchmark/readyQ/yield.cpp (added) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/containers/stackLockFree.hfa (modified) Added BIAS option to ready_queue Added yield test for LibFibre ... Tue, 16 Jun 2020 19:32:00 GMT Thierry Delisle [37ba662] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/stats.hfa (modified) Minor improvements to alignments and memory layout Tue, 16 Jun 2020 16:53:58 GMT Thierry Delisle [8834751] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/stats.cfa (modified) * libcfa/src/concurrency/stats.hfa (added) Moved statistics to stats.cfa to combine ready Q stats and IO stats Fri, 12 Jun 2020 17:49:17 GMT Thierry Delisle [9b1dcc2] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Changed scheduling API to adapt to non-Processors scheduling threads. Thu, 11 Jun 2020 22:47:27 GMT Thierry Delisle [b388ee81] * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Changed ready RW-Lock to be a single global lock instead of per ... Thu, 11 Jun 2020 19:15:13 GMT Thierry Delisle [61d7bec] * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Replaced the bitmask approached for the ready-queue with a SNZI Tue, 12 May 2020 20:26:07 GMT Thierry Delisle [1b143de] * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/io.cfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Several fixes to relaxed_ready queue Tue, 12 May 2020 17:32:45 GMT Thierry Delisle [504a7dc] * libcfa/src/bits/debug.hfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) Some fixes after the merge, compiles but still has livelocks Thu, 30 Jan 2020 18:40:05 GMT Thierry Delisle [dca5802] * libcfa/src/bits/defs.hfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/stdhdr/assert.h (modified) Started doing some of the x86 implementations and some changes after ... Fri, 13 Dec 2019 18:45:49 GMT Thierry Delisle [c84b4be] * libcfa/src/bits/debug.hfa (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/preemption.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) new ready queue seems to work but halting does not, had to be disabled Thu, 12 Dec 2019 16:52:11 GMT Thierry Delisle [983edfd] * libcfa/src/concurrency/ready_queue.cfa (modified) Ready queue seems to work but clearly shows quiescing is broken Tue, 10 Dec 2019 21:23:09 GMT Thierry Delisle [b798713] * libcfa/src/bits/defs.hfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/monitor.cfa (modified) * libcfa/src/concurrency/ready_queue.cfa (modified) * libcfa/src/concurrency/thread.cfa (modified) Working ready queue Tue, 26 Nov 2019 20:19:20 GMT Thierry Delisle [7768b8d] * libcfa/prelude/sync-builtins.cf (modified) * libcfa/src/Makefile.am (modified) * libcfa/src/Makefile.in (modified) * libcfa/src/bits/defs.hfa (modified) * libcfa/src/concurrency/invoke.h (modified) * libcfa/src/concurrency/kernel.cfa (modified) * libcfa/src/concurrency/kernel.hfa (modified) * libcfa/src/concurrency/kernel_private.hfa (modified) * libcfa/src/concurrency/ready_queue.cfa (added) * libcfa/src/concurrency/thread.cfa (modified) First step at adding the new ready queue to Cforall