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