Summary: This is to enable development on my Alder Lake Fedora laptop.
Reviewed By: jasonwhite
Differential Revision: D37300482
fbshipit-source-id: cf881caa854ca4f8ab84b23454faa5dba0445e8a
Summary:
Right now we get a whole bunch of annoying messages from tokio that spam our test logs:
2022-06-10T15:09:59.751928Z TRACE runtime.spawn{kind=block_on task.name= loc.file="hermetic_infra/reverie/reverie-ptrace/src/testing.rs" loc.line=58 loc.col=8}:runtime.spawn{kind=local task.name= loc.file="third-party/rust/vendor/tokio-1.15.0/src/task/local.rs" loc.line=302 loc.col=22}: tokio::task::waker: op="waker.drop" task.id=26
This diff makes the filter more restrictive for reverie tests.
Reviewed By: johnhurt
Differential Revision: D37071398
fbshipit-source-id: fe93ec3cc0cf61938be10d40df6fe2f46979fbf9
Summary: The OSS license linter doesn't like the word "its".
Reviewed By: johnhurt
Differential Revision: D36856385
fbshipit-source-id: 909037d96de8976f08004497d28b77838f8c6870
Summary:
See https://github.com/jasonwhite/syscalls/blob/master/CHANGELOG.md
The biggest change here is that the type of syscall registers and return values was changed from `u64` to `usize` (to support 32-bit architectures).
Reviewed By: zertosh
Differential Revision: D36157822
fbshipit-source-id: d8776b6809dd00df93b147ee34deb37df61a2675
Summary:
If we're going to print a trace message when we inject the syscall, we might as well show the raw args.
The specific use case I used this for was making sure when I am changing args between the Detcore and reverie layers, that they are changing in the expected way. Detcore already prints log messages for the syscalls and arguments it receives from the guest. This lets us see the actual arguments that are passed to the kernel.
Reviewed By: jasonwhite
Differential Revision: D35804814
fbshipit-source-id: 2fc5a1b526326b554d4f015bfd0cb41d0dfc4ab2
Summary:
The Ubuntu VM that GitHub Actions uses doesn't seem to have permissions
to access the PMU. This exits the test successfully if it's not available.
Pull Request resolved: https://github.com/facebookexperimental/reverie/pull/12
Reviewed By: andronat
Differential Revision: D35838916
Pulled By: jasonwhite
fbshipit-source-id: 0e6cba4c170e3c7e293300e031ee41333c399040
Summary: `clock_getres` is a vdso function in recent versions of glibc.
Reviewed By: andronat
Differential Revision: D35570102
fbshipit-source-id: d09850b4d1bec002af749452f80228e1542fafaa
Summary: 0.3.10 adds a new EnvFilter builder that I would like to use. :)
Reviewed By: wqfish
Differential Revision: D35473723
fbshipit-source-id: df31dad09c8f8fc9c27a43c85b5d6ac8f97d69a3
Summary:
This diff does the following:
- Updates the tracing crates to the latest versions available. Changes include:
- Experimental support for [Valuable](https://tokio.rs/blog/2021-05-valuable), which makes recording values much more like how serde does. Valuable also makes it easier to write a tracing-slog crate due to some implementation details of slog where buffering of values is necessary.
- Combinators for combining filters in tracing-subscriber.
- A `MakeWriter` implementation for `RollingFileAppender` in `tracing_appender`, which allows the `RollingFileAppender` without a background thread to being spun up.
- Reduced the disabled span drop overhead by 50-70%—this might be most apparent in tests that don't set a subscriber.
- Move the tokio-console off git dependencies and to published versions on crates.io.
This diff also updates the following, non-exhaustive list of crates:
- parking_lot
- prost
- thread_local
- tonic
- hyper
- httparse
- h2
allow-large-files
Reviewed By: jsgf, fanzeyi
Differential Revision: D34801437
fbshipit-source-id: 2409de9194c8e00647ac5e4c514325fd2e23d247
Summary:
The `llvm_asm` nightly feature was removed in Rust 1.59 and `asm!()` was simultaneously stabilized, so we need to make the switch so things continue compiling.
This retains the `llvm_asm` code so that it can continue compiling on old llvm versions. This will be removed when that is updated.
Reviewed By: johnhurt
Differential Revision: D34561246
fbshipit-source-id: 42cd2c7e83cea9a5c21bd5871463bb1a42be139d
Summary: The `count` wasn't getting initialized properly, so it was possible in theory that the check could have been failing. I noticed this while attempting to convert this chunk of `llvm_asm!()` to the new `asm!()` syntax. Also added documentation explaining what this code is doing because it's not easy to read.
Reviewed By: johnhurt
Differential Revision: D34542806
fbshipit-source-id: 0f79b9d36757756a1cf76e98830f9cc76f06336c
Summary: Quick fix to make remove the postential for warning messages to cause false determinism failures
Reviewed By: andronat
Differential Revision: D34243592
fbshipit-source-id: 30c025ad8c4921e9c15f72956937166bfaf5d598
Summary:
Adds a way to fetch the command provided to `TracerBuilder`.
We're running into a situation where we're constructing a TracerBuilder and using it much later, but we want to debug and print the command that we're tracing when we execute the traced program.
You can alternatively avoid this by storing the necessary info alongside in an adjacent struct, but it feels a little silly to have to carry around a separate struct just for debugging.
Reviewed By: jasonwhite
Differential Revision: D34231169
fbshipit-source-id: ef40cb396f5530ee1f4324694ce5d9122dfe281f
Summary: Something appears to be causing timer marker events to randomly be sent early or possibly multiple times. This commit adds some sanity check and retry handling to ensure that early wakeups do not impact the implementing tool or at least long runs of single steps (and thus the timeouts that originally sparked this investigation)
Reviewed By: jasonwhite
Differential Revision: D33828008
fbshipit-source-id: 008bf1793964053405643640155269603c4e6bcc
Summary: Mozilla-rr has a set of tests that it runs to determine if the host system's perf timers can be trusted. This diff transcribes that functionality (as close as possible) into reverie
Reviewed By: jasonwhite
Differential Revision: D33644553
fbshipit-source-id: 8ecd505bf339ceb4c8b2b8fea86a1f23b14a9b73
Summary: This hasn't been necessary for quite a while now.
Reviewed By: wangbj
Differential Revision: D33411662
fbshipit-source-id: e6f88834521809b59323aa9d14796ff31571e7b6