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

Switch back to Counter based SpinLockIRQ #534

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Commits on Oct 29, 2019

  1. Revert "Go back to backup/restore SpinLockIRQ system"

    This reverts commit e850a89.
    kitlith committed Oct 29, 2019
    Configuration menu
    Copy the full SHA
    20ad4b8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6efa7ea View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    de68901 View commit details
    Browse the repository at this point in the history
  4. Fix initial boot.

    It still deadlocks later on... :/
    kitlith committed Oct 29, 2019
    Configuration menu
    Copy the full SHA
    692738d View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2019

  1. Fix deadlock.

    This was interesting to figure out.
    
    In short, when a scheduler based process switch occurs, there is a lock
    held exclusively for enabling and disabling interrupts. This lock is not
    dropped before the process switch.
    
    If this is not the first time this process is run, it evens out by
    dropping the copy of this lock held by the 'new' process. However, if it
    is *not* the first time the process is run, there is no lock, and the
    counter never gets decremented.
    
    This commit fixes the issue by decrementing the counter in the new
    process right before the iret which reenabled interrupts.
    kitlith committed Oct 31, 2019
    Configuration menu
    Copy the full SHA
    f583a67 View commit details
    Browse the repository at this point in the history
  2. Preform ALL checks in try_lock.

    Forgot to copy paste after fixing issues in lock.
    
    Doesn't seem to be used early enough to matter, but in case it ever
    is...
    kitlith committed Oct 31, 2019
    Configuration menu
    Copy the full SHA
    495cb50 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c62dc63 View commit details
    Browse the repository at this point in the history
  4. Fix typo in docs.

    kitlith committed Oct 31, 2019
    Configuration menu
    Copy the full SHA
    f104aec View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2019

  1. s/Unsafety/Safety/g

    Looks like when I went looking for examples, I found the wrong example.
    kitlith committed Nov 2, 2019
    Configuration menu
    Copy the full SHA
    0936063 View commit details
    Browse the repository at this point in the history
  2. Move Safety comments inside the unsafe blocks.

    It's funny, I could've sworn there was already some tool for this, but
    couldn't find it when I went to look for it. *shrug*
    kitlith committed Nov 2, 2019
    Configuration menu
    Copy the full SHA
    0d026af View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2019

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

Commits on Nov 9, 2019

  1. Configuration menu
    Copy the full SHA
    d854a1f View commit details
    Browse the repository at this point in the history
  2. Fix documentation nits

    Co-Authored-By: Robin Lambertz <github@roblab.la>
    kitlith and roblabla committed Nov 9, 2019
    Configuration menu
    Copy the full SHA
    9ebe582 View commit details
    Browse the repository at this point in the history