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 vector clock to epoll #3928

Closed
wants to merge 4 commits into from

Commits on Oct 2, 2024

  1. epoll: add data_race test

    This test demonstrates the need to synchronize the clock
    of the thread waking up from an epoll_wait from the thread
    that issued the epoll awake event.
    FrankReh committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    f4c8b97 View commit details
    Browse the repository at this point in the history
  2. epoll: remove unnecessary instructions

    A couple of instructions were left over from an earlier rebase
    it would seem. They don't impact the logic but the ready_list type
    is about to change in the next commit.
    
    Rather than modify one of these lines in the commit that changes
    ready_list, only to have these lines removed later on, remove them now.
    They don't impact the tests results.
    FrankReh committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    046b8b0 View commit details
    Browse the repository at this point in the history
  3. epoll: add vector clock to the epoll ready_list

    This adds a VClock to the epoll implementation's ready_list
    and has this VClock synced from the thread that updates
    an event in the ready_list and then has the VClocks of any
    threads being made runnable again, out of the calls to
    epoll_wait, synced from it.
    FrankReh committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    945083a View commit details
    Browse the repository at this point in the history
  4. epoll: remove extraneous clone of ready_list

    A simplification that doesn't impact the epoll implementation's logic.
    
    It is not necessary to clone the ready_list before reading its
    `is_empty` state.
    
    This avoids the clone step but more importantly avoids the invisible
    drop step of the clone.
    FrankReh committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    a7ccfce View commit details
    Browse the repository at this point in the history