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

Support Linux on MIPS and ARMv5TE #39

Merged
merged 9 commits into from Sep 10, 2021
Merged

Support Linux on MIPS and ARMv5TE #39

merged 9 commits into from Sep 10, 2021

Commits on Sep 9, 2021

  1. Support Linux on MIPS and ARMv5TE

    These platforms does not provide `std::sync::atomic::AtomicU64`.
    
    - Add a cargo feature "quanta" and make it a default feature.
    - Add a module `common::time` and conditionally choose the source file
      from "time_quanta.rs" or "time_compat.rs".
        - time_quanta.rs file has type aliases to `quanta::{Instant, Clock, Mock}`.
          It also has `AtomicInstant` holding an `AtomicU64`.
        - time_compat.rs file has `Instant` based on `std::time::Instant`
          and quanta-like `Clock` and `Mock`. It also has `AtomicInstant`
          holding a `RwLock<Option<Instant>>`.
    - Update Cache, etc. modules to use `common::time` instead of `quanta`.
    - Add a step to GitHub Actions to test future feature without quanta/
      `AtomicU64`.
    tatsuya6502 committed Sep 9, 2021
    Configuration menu
    Copy the full SHA
    892b694 View commit details
    Browse the repository at this point in the history
  2. cargo fmt

    tatsuya6502 committed Sep 9, 2021
    Configuration menu
    Copy the full SHA
    df2eb3f View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2021

  1. Support Linux on MIPS and ARMv5TE

    Remove some old codes.
    tatsuya6502 committed Sep 10, 2021
    Configuration menu
    Copy the full SHA
    b05f62c View commit details
    Browse the repository at this point in the history
  2. Support Linux on MIPS and ARMv5TE

    Remove target_arch = "mips" from the cfg_attr for the time module. (It will
    not work when quanta feature is still enabled it Cargo.toml)
    tatsuya6502 committed Sep 10, 2021
    Configuration menu
    Copy the full SHA
    e93fc1e View commit details
    Browse the repository at this point in the history
  3. Support Linux on MIPS and ARMv5TE

    Add a section to the README to explain that `default-features = false` will
    be needed on these platforms.
    tatsuya6502 committed Sep 10, 2021
    Configuration menu
    Copy the full SHA
    2ef09a7 View commit details
    Browse the repository at this point in the history
  4. Update the change log

    tatsuya6502 committed Sep 10, 2021
    Configuration menu
    Copy the full SHA
    4407e87 View commit details
    Browse the repository at this point in the history
  5. Support Linux on MIPS and ARMv5TE

    - Rename the Cargo feature "quanta" to "atomic64".
    - Update the change log and readme.
    - Update a comment in the yml for GitHub Actions.
    tatsuya6502 committed Sep 10, 2021
    Configuration menu
    Copy the full SHA
    515c8b6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d91c5ce View commit details
    Browse the repository at this point in the history
  7. Support Linux on MIPS and ARMv5TE

    Ensure to set num threads to 1 for thread pools when `num_cpus::get()` returns 0.
    tatsuya6502 committed Sep 10, 2021
    Configuration menu
    Copy the full SHA
    13263a2 View commit details
    Browse the repository at this point in the history