Ralf Jung
71efd950d1
also ignore 'thread leaks' with -Zmiri-ignore-leaks
2021-07-25 14:21:06 +02:00
Ralf Jung
a1233a721d
adjust Miri to Pointer type overhaul
2021-07-16 10:10:12 +02:00
Ralf Jung
e09c571eec
avoid some borrow_mut calls in data_race
2021-05-23 18:04:13 +02:00
Ralf Jung
c73f8b1097
fmt
2021-05-22 14:55:33 +02:00
Ralf Jung
1bbd6e609c
get rid of Rc in data_race
2021-05-22 14:47:14 +02:00
Ralf Jung
4e231bab5e
format much of Miri
2021-05-16 11:48:28 +02:00
bors
e6ffc689aa
Auto merge of #1772 - RalfJung:less-timeout-checking, r=RalfJung
...
only check timeouts when a thread yields
Currently, we check for expired timeouts after each step of execution. That seems excessive. This changes the scheduler to only check for timeouts when the active thread cannot continue running any more.
`@vakaras` does this sound right? `pthread_cond_timedwait` anyway already yields, of course, since it blocks on getting the signal (or the timeout).
2021-04-11 14:59:27 +00:00
Vytautas Astrauskas
50f68dce21
Reference issue 1763 in the comment.
2021-04-11 13:39:03 +02:00
Ralf Jung
bda328e26a
only check timeouts when a thread yields
2021-04-11 13:32:47 +02:00
Vytautas Astrauskas
72ca2a7a85
Attempt to fix #1763 by asking the scheduler to retry choosing an operation.
2021-04-10 20:23:32 +02:00
Mara Bos
5bd5ea21ea
Remove unwrap_none as it won't be stabilized.
...
This upgrades to the latest rustc to be able to use try_insert()
instead.
2021-03-08 16:59:20 +01:00
JCTyBlaidd
69fb6413dd
Tidy up comments and function layout, should fix most of the review notes.
2020-11-15 18:30:26 +00:00
JCTyBlaidd
2a40d9b7a0
More aggressive vector index re-use, and added some tests.
2020-11-06 17:29:54 +00:00
JCTyBlaidd
c70bbea257
Move to use of thread termination hook for vector re-use,
...
convert validate atomic op to use shared reference and get_raw
instead of get_raw_mut so it can be used for validate_atomic_load as well
2020-11-05 14:18:28 +00:00
JCTyBlaidd
9cb6b8da3f
Split out vector_clock to separate file, general tidy up of some of the
...
code & add support for vector index re-use for multiple threads
after termination.
2020-11-05 03:54:39 +00:00
JCTyBlaidd
89814f1b3f
Initial data-race detector,
...
passes all current tests but additional tests are required
2020-11-02 02:57:05 +00:00
David Cook
7a2c6812b9
Per-thread errno storage
2020-09-02 20:57:20 -05:00
David Cook
da2f268443
Review comments
2020-08-31 19:32:14 -05:00
David Cook
3ba7f46058
Move panic payload state from Machine to Thread
2020-08-29 21:38:37 -05:00
Oliver Scherer
94f13efefd
Bump for rustc changes
2020-08-11 11:37:29 +02:00
Ralf Jung
c77540ce13
deallocate thread-local statics when the thread dies
2020-07-27 23:32:15 +02:00
Ralf Jung
2a42f8e93c
fix and test order of TLS dtors and thread joining
2020-07-27 23:32:15 +02:00
Ralf Jung
7b07fc385c
get_or_create_thread_local_alloc_id: share code with Memory::get_global_alloc
2020-07-27 23:32:15 +02:00
Ralf Jung
0a4e8caa8c
adjust to canonical_alloc_id removal
2020-07-27 23:32:15 +02:00
Ralf Jung
545aa60195
fix typo
...
Co-authored-by: Oliver Scherer <github35764891676564198441@oli-obk.de>
2020-07-17 13:40:13 +02:00
Ralf Jung
d617d615e4
fix non-fatal diagnostics stacktraces
2020-07-17 12:55:45 +02:00
Ralf Jung
395f5d40dc
Rename shims::{sync -> posic_sync} and move sync_singlethread test to other sync test
2020-06-27 12:37:12 +02:00
Ralf Jung
7589bc7ba9
sync cleanup: mark infallible ops as such; consistent combine en/dequeue with (un)block; comments
2020-05-30 22:29:27 +02:00
Vytautas Astrauskas
90590a399d
Small fixes.
2020-05-25 00:02:54 +02:00
Vytautas Astrauskas
bd97074517
Small changes.
2020-05-25 00:02:54 +02:00
Vytautas Astrauskas
0838347d8f
Change the scheduling to execute timeout callbacks first.
2020-05-25 00:02:54 +02:00
Vytautas Astrauskas
fdfd56b75b
Small changes.
2020-05-25 00:02:54 +02:00
Vytautas Astrauskas
0bbac12751
Change how the time is handled.
2020-05-25 00:02:54 +02:00
Vytautas Astrauskas
044a068c67
Improve code readability and comments.
2020-05-25 00:02:54 +02:00
Vytautas Astrauskas
d0de439ac8
Cleanup.
2020-05-25 00:02:54 +02:00
Vytautas Astrauskas
679245769b
Implement support for synchronization primitives.
2020-05-25 00:02:54 +02:00
Oliver Scherer
3fdab9c446
Update to rustc changes
2020-05-10 10:14:03 +02:00
Ralf Jung
6680118588
de-duplicate <unnamed> default thread name
2020-05-03 12:56:38 +02:00
Vytautas Astrauskas
48da0cf489
Fix prctl SET_NAME and GET_NAME behaviour.
2020-04-30 08:35:59 -07:00
Vytautas Astrauskas
46b03174d0
Improve code readability and comments.
2020-04-29 13:16:22 -07:00
Vytautas Astrauskas
df2ca53b69
Make From implementations non-failing.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
c56ef31780
Improve comments.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
207c6e7fa7
Improve comments and code clarity.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
9ba3ef2a44
Change representation and conversion of ThreadId and BlockSetId.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
c4574dde8d
Many small changes to clean up code.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
64164b10e8
Improve comments.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
bc9d007e3e
Improve Debug formatting of the thread name.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
04abf066f1
Move copying of the thread name to the client side.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
feb188360e
Unify TLS dtors; move stepping outside.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
d45e985669
Clarify FIXME.
2020-04-27 14:26:36 -07:00