|
|
@8bee858
|
2 years |
Thierry Delisle |
Changed io types to have trailing $ instead of leading
ADTast-experimentalpthread-emulation
|
|
|
@ced5e2a
|
2 years |
caparson |
removed debug fields from spinlock_t
ADTast-experimentalpthread-emulationqualifiedEnum
|
|
|
@c18bf9e
|
2 years |
Thierry Delisle |
Visibility concurrency
ADTast-experimentalpthread-emulationqualifiedEnum
|
|
|
@4ccc150
|
3 years |
Thierry Delisle |
Fix the verifys I just added.
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@77adaee
|
3 years |
Thierry Delisle |
Added more verifys to eventfd_write
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@efa28d5
|
3 years |
Thierry Delisle |
Change wake_time to be as long as other timestamps to ease debugging.
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@d080549
|
3 years |
Thierry Delisle |
Added a verify for the result of wake_proc
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@262fafd9
|
3 years |
Thierry Delisle |
Added debugging information to help find deadlock.
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@18f7858
|
3 years |
Thierry Delisle |
Refactored io to allow holding the lock duirng idle sleep
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@202c80b
|
3 years |
Thierry Delisle |
Added verify and changed print_now to not ignore flags.
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@4479890
|
3 years |
Thierry Delisle |
Implemented helping for io drain based on timestamps.
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@78a580d
|
3 years |
Thierry Delisle |
I/O now updates the timestamps when draining.
Timestamps are not used yet.
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@4ecc35a
|
3 years |
Thierry Delisle |
Added spin lock to io drain.
last step before completion fairness
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@22226e4
|
3 years |
Thierry Delisle |
Tentative fix for spurious deadlock in some concurrency tests
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@708ae38
|
3 years |
Thierry Delisle |
Some more cleanup and grow/shrink now readjusts io timestamps.
(They …
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@bfb9bf5
|
3 years |
Thierry Delisle |
Fixed some warnings
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@d529ad0
|
3 years |
Thierry Delisle |
Pending/Dirty? flags now use relaxed atomics since they can be set remotely
ADTast-experimentalenumpthread-emulationqualifiedEnum
|
|
|
@c9c1c1c
|
3 years |
Thierry Delisle |
Minor changes to kernel main loop and fixed stats.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@040334e
|
3 years |
Thierry Delisle |
Removed so-called 'new proc main' which wasn't useful.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@70b4aeb9
|
3 years |
Thierry Delisle |
Commit last changes before moving off plg7a
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@7cf3b1d
|
3 years |
Thierry Delisle |
Added level of indirection to idle sleeps which helps statistics.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@5b7a3662
|
3 years |
Thierry Delisle |
Tentative optimization for wake-one
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@078fb05
|
3 years |
Thierry Delisle |
Fixed a few warnings
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@7d0ebd0
|
3 years |
Thierry Delisle |
Processors should now correctly be unconditionnaly woken-up on termination
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@d3605f8
|
3 years |
Thierry Delisle |
Reworked io_uring idle sleep to work with either read or readv …
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@3bb4f85
|
3 years |
Thierry Delisle |
Kernel now waits for eventfd read to flush before terminating.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@a1f3d93
|
3 years |
Thierry Delisle |
Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@c7b2215
|
3 years |
Thierry Delisle |
Fix implementation of io_uring_enter instead of eventfds.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@6ddef36
|
3 years |
Thierry Delisle |
No longer define kernel_read when not needed.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@7ef162b2
|
3 years |
Thierry Delisle |
First attempt at using io_uring_enter for idle sleep.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@059ad16
|
3 years |
Thierry Delisle |
Flush now supports blocking until at least one I/O op terminates.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@1757f98
|
3 years |
Thierry Delisle |
Refactoring idle sleep to try and help the change from idle on read to …
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@a633f6f
|
3 years |
Thierry Delisle |
Fix the new FD change.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@b14ec5f
|
3 years |
Thierry Delisle |
Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@34b8cb7
|
3 years |
Thierry Delisle |
Step 1 of a new scheme to simplify wake_one.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@5f5a729
|
3 years |
Thierry Delisle |
Mark idle now uses try_lock semantics
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@c33c2af
|
3 years |
Thierry Delisle |
Made some of the schedule locking more fine grain.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@24e321c
|
3 years |
Thierry Delisle |
Unpark now takes a hint on locality.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@abcae55
|
3 years |
Thierry Delisle |
Removed last_cpu (and small spacing changes)
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@ec421636
|
3 years |
Thierry Delisle |
No longer using eventfd_read to avoid the poor interrupt handling.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@445f984
|
3 years |
Thierry Delisle |
Forgot to commit changes to include.
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@56e5b24
|
3 years |
Thierry Delisle |
Manually read from event fd instead of calling eventfd_read, which …
ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
|
|
|
@c86ee4c
|
3 years |
Thierry Delisle |
Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc
ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@1f45c7d
|
3 years |
Thierry Delisle |
Now tracking cpu migrations using push_stat.
Some minor fixes to the …
ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@e84ab3d
|
3 years |
Thierry Delisle |
Step 1 of changing $thread to thread$
ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@12daa43
|
3 years |
Thierry Delisle |
Added a define switch for using cpu workstealing.
Not Fully implemented.
ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@43784ac
|
3 years |
Thierry Delisle |
Changed libcfathread to consistently define _GNU_SOURCE
ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@733fd3d
|
3 years |
Thierry Delisle |
Added missing corctx_flag in assertion
ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@50871b4
|
3 years |
Thierry Delisle |
Whitespace clean-up
ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@96bfdde7
|
3 years |
Thierry Delisle |
Forgot to add symmetric change to last verify change
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@ab5baab
|
3 years |
Thierry Delisle |
Attempt to fix the stack checker for when coroutines are interrupted …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@b808625
|
3 years |
Thierry Delisle |
Added option to ready-queue to push ignoring locality.
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@e2f601f
|
3 years |
Thierry Delisle |
Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@57f70ab
|
3 years |
Thierry Delisle |
New main now uses proper define.
+ tweak to loop count
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@a9172b5
|
3 years |
Thierry Delisle |
Removed push stats in alternate main
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@fb4ccdf
|
3 years |
Thierry Delisle |
Updated alternate main for processors
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@69914cbc
|
3 years |
mlbrooks |
Replacing "Mike's old linked list" with "Mike's new linked list," …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@8464edf
|
3 years |
Thierry Delisle |
'print_stats_now' now pulls stats from processors.
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@34b2796
|
4 years |
Thierry Delisle |
Changed comments to ifdef
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@c993b15
|
4 years |
Thierry Delisle |
Changed RW lock to avoid hitting the global array on schedule.
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@b7fd2db6
|
4 years |
Thierry Delisle |
Pushing changed to RWlock with io_drain.
I forget a few lines of the …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@e9c0b4c
|
4 years |
Thierry Delisle |
I/O drain now keeps the schedlock for the duration of the call. …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@cfff639
|
4 years |
Thierry Delisle |
Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@89eff25
|
4 years |
Thierry Delisle |
Some changes to stats and added back preferred
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@fc59df78
|
4 years |
Thierry Delisle |
Split ready-queue routines in 3 instead of 2.
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@254ad1b
|
4 years |
Thierry Delisle |
Separate schedule_thread from the scheduler lock
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@734908c
|
4 years |
Thierry Delisle |
Fudge variable in schedule_thread so it's not accidently used.
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@a3821fa
|
4 years |
Thierry Delisle |
Changed enable interrupts:
- no longer save the caller for debugging
…
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@c6c7e6c
|
4 years |
Thierry Delisle |
Seperated semphore and scheduling logic in unpark
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@c1c95b1
|
4 years |
Thierry Delisle |
io_drain now returns true if anything was unparked
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@431cd4f
|
4 years |
Thierry Delisle |
Added alternative to relaxed-fifo scheduler.
Disabled by default
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@fc59b580
|
4 years |
Thierry Delisle |
Clusters now keep track of the active processors as well
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@6a9b12b
|
4 years |
Thierry Delisle |
Incremental change towards having the cluster keep a list of active …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@73f4d08
|
4 years |
Thierry Delisle |
Added stats implementation for dumping a big array of timestamped …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@ec43cf9
|
4 years |
Thierry Delisle |
Kernel now keeps track of the how many threads each processor has …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@b0904bf
|
4 years |
Thierry Delisle |
Removed alarm stats, they are now tallied directly into the cluster
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@5cb51502
|
4 years |
Thierry Delisle |
Fix stats so they are correctly tallied when called from outside the …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@a5e7233
|
4 years |
Thierry Delisle |
C interface now runs worker init routine in dedicated thread.
Also …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@a1538cd
|
4 years |
Thierry Delisle |
Implemented part of the same C api for threads as libfibre.
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@55d6affb
|
4 years |
Thierry Delisle |
Fixed stupid copy past mistake where I used eventfd_read (wait) …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@dddb3dd0
|
4 years |
Thierry Delisle |
Changed io to use ring per kernel threads.
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@da3963a
|
4 years |
Thierry Delisle |
Moved bin_sem_t out of kernel.hfa since it's not needed.
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@454f478
|
4 years |
Thierry Delisle |
Re-arranged and commented low-level headers.
Main goal was for better …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@92bfda0
|
4 years |
Thierry Delisle |
Revisited abort again to be more streamlined and simple.
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@4f449d2
|
4 years |
Thierry Delisle |
Fixed interted abort condition.
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@804c0ff
|
4 years |
Thierry Delisle |
Simplified abort handling in the case of concurrent abort.
I used to …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@325e6ea
|
4 years |
Thierry Delisle |
Kernel now tallies stats regularly
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@6011658
|
4 years |
Thierry Delisle |
Fixed abort to no longer deadlock when calling itself recursively. …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@32a8b61
|
4 years |
Thierry Delisle |
Tentative fix for the recurring crash, caching the current cluster to …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@3ea8ad1
|
4 years |
Thierry Delisle |
Added more checks for thread termination synchronization
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@9d6e1b8a
|
4 years |
Thierry Delisle |
Minor improvments to assertions and comments
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@ac12f1f
|
4 years |
Thierry Delisle |
canary is now a void * so it prints in hexa in gdb
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@1b033b8
|
4 years |
Thierry Delisle |
Alarm loop now has it's own stats block
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@8fc652e0
|
4 years |
Thierry Delisle |
Change usage of TLS to more strongly segregate in kernel and out of …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@58688bf
|
4 years |
Thierry Delisle |
Added assertion to check there aren't pending unparks
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@e873838
|
4 years |
Thierry Delisle |
Removed unpark and added support for unpark from the kernel …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@6a77224
|
4 years |
Thierry Delisle |
Changed park/unpark ticket to be -1,0,1 instead of 0,1,2 because it's …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@7ee8153
|
4 years |
Thierry Delisle |
Improved the error handling output for mismatched park/unparks
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@5afb49a
|
4 years |
Thierry Delisle |
Split thread_leave so backend is called from the kernel once the …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|
@b4b63e8
|
4 years |
Thierry Delisle |
Fixed missing changes to park/unpark.
Added canary to threads to check …
ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
|
|
|