Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add preliminary support for loom #487

Merged
merged 18 commits into from Dec 30, 2020
Merged

Add preliminary support for loom #487

merged 18 commits into from Dec 30, 2020

Commits on May 23, 2020

  1. util/epoch: Add preliminary support for loom

    This patch only adds support to parts of `utils` and to `epoch`. Some
    parts of `utils` had to be left out, since they rely on
    `AtomicUsize::new` being `const` (which it is not in `loom`). Other
    parts had to be left out due to the lack of `thread::Thread` in `loom`.
    All the parts needed for `epoch` were successfully moved to loom.
    
    For this initial patch, there are two loom tests, both in `epoch`. One
    is a simple test of defer_destroy while a pin is held, and the other is
    the Triber stack example. They both pass loom with
    `LOOM_MAX_PREEMPTIONS=3` and `LOOM_MAX_PREEMPTIONS=2`. The latter tests
    fewer possible interleavings, but completes in 13 minutes on my laptop
    rather than ~2 hours. I have added loom testing of `epoch` to CI as
    well.
    
    Note that the uses of `UnsafeCell` in `utils` have not been moved to
    `loom::cell::UnsafeCell`, as loom's `UnsafeCell` does not support `T:
    ?Sized`, which `AtomicCell` depends on.
    
    Fixes crossbeam-rs#486.
    jonhoo committed May 23, 2020
    Copy the full SHA
    4756ee1 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2020

  1. Copy the full SHA
    03ed848 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    ab7ffb0 View commit details
    Browse the repository at this point in the history
  3. Some fixes from review

    jonhoo committed Dec 9, 2020
    Copy the full SHA
    617f8a0 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    2fc70c9 View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    e0f59cf View commit details
    Browse the repository at this point in the history
  6. Copy the full SHA
    d2360e0 View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    58a66e4 View commit details
    Browse the repository at this point in the history
  8. Copy the full SHA
    f43ff79 View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2020

  1. Update crossbeam-epoch/src/atomic.rs

    Co-authored-by: Taiki Endo <te316e89@gmail.com>
    jonhoo and taiki-e committed Dec 10, 2020
    Copy the full SHA
    6410c0c View commit details
    Browse the repository at this point in the history
  2. Update crossbeam-utils/Cargo.toml

    Co-authored-by: Taiki Endo <te316e89@gmail.com>
    jonhoo and taiki-e committed Dec 10, 2020
    Copy the full SHA
    26f2b44 View commit details
    Browse the repository at this point in the history
  3. Why 2 preemptions?

    jonhoo committed Dec 10, 2020
    Copy the full SHA
    2b82b8a View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    9f1684b View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2020

  1. Copy the full SHA
    d3b128c View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2020

  1. Copy the full SHA
    bcf0c68 View commit details
    Browse the repository at this point in the history
  2. newline at eol

    taiki-e committed Dec 30, 2020
    Copy the full SHA
    660641c View commit details
    Browse the repository at this point in the history
  3. remove needless pub(crate)

    taiki-e committed Dec 30, 2020
    Copy the full SHA
    8638951 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    5d8304d View commit details
    Browse the repository at this point in the history