1. 04 Nov, 2022 2 commits
  2. 03 Nov, 2022 4 commits
  3. 02 Nov, 2022 4 commits
  4. 01 Nov, 2022 2 commits
  5. 31 Oct, 2022 4 commits
  6. 28 Oct, 2022 2 commits
  7. 27 Oct, 2022 2 commits
  8. 26 Oct, 2022 2 commits
  9. 25 Oct, 2022 2 commits
  10. 24 Oct, 2022 1 commit
    • Mutex: Fix stall on single-core systems · b3e64c41
      On single-core systems, a thread could be preempted while holding an
      absl::Mutex, or even worse, the spin lock. If a FIFO thread wakes up and
      tries to acquire this lock, it might not be able to yield() to the sleeping
      thread.
      
      Within MutexDelay(), a yield() and a sleep(10us) are used to yield the CPU.
      The yield() would do nothing if the calling thread holds the highest
      priority in the system. The 10us sleep() may not be able to reach the
      scheduler either, if the system is slow enough.
      This code path is known to be reachable in the following scenarios:
      - a FIFO thread calls LockSlowLoop() with spin lock held by a normal thread
      - a FIFO thread calls LockWhen*() with the Mutex held by a normal thread for a long time
      - a FIFO thread calls Await*(), releases the Mutex to be held by a normal thread for a long time
      
      This CL adds a mutex global for the sleep time, and sets it using the
      return time of the a yield() call. Yield() must reach the
      scheduler even when it fails to yield to anyone, and would allow sleep() to do the
      same. A small constant multiplier (5) is also applied to overcome uncontrollable
      factors in the runtime and help sleep() to consistently yield to another thread.
      Upper and lower bounds for the sleep time is also controlled to block any unreasonable values.
      
      PiperOrigin-RevId: 483459711
      Change-Id: I14efadbadaf9244a2462f377b515147bda651c89
      Abseil Team committed
  11. 21 Oct, 2022 2 commits
  12. 19 Oct, 2022 1 commit
  13. 18 Oct, 2022 3 commits
  14. 17 Oct, 2022 5 commits
  15. 15 Oct, 2022 1 commit
  16. 14 Oct, 2022 2 commits
  17. 13 Oct, 2022 1 commit
    • Fix "unsafe narrowing" warnings in absl, 12/12. · f073fe8e
      Addresses failures with the following, in some files:
      -Wshorten-64-to-32
      -Wimplicit-int-conversion
      -Wsign-compare
      -Wsign-conversion
      -Wtautological-unsigned-zero-compare
      
      (This specific CL enables these warnings and fixes the remaining known issues.)
      
      Bug: chromium:1292951
      PiperOrigin-RevId: 480981210
      Change-Id: I92d5023c6833e24d6aa29b10d433116329972f41
      Abseil Team committed