Skip to content
Snippets Groups Projects
Select Git revision
  • master default
  • ci-bump-test
  • abp-queue
  • new-delete-leaks
  • fused-continuation-and-completion-stealing
  • emper-fix-invalid-conv
  • remote-put-get-free-context-cycle
  • linux-version-construct-on-first-use
  • libstdc++-asserts
  • msan
  • libc++
  • completer-strategies
  • cactus_stack_devel_one_commit
  • client-load-change
  • cppcheck
  • flow
  • cast-if-future
  • async_network2
  • thread_safe_log_config
  • burak
  • attic/clang-release-tls-optimization-debug-and-fix
  • attic/continuation-stealing-dev
22 results

BinaryPrivateSemaphoreTest.cpp

Forked from Lehrstuhl für Informatik 4 (Systemsoftware) / manycore / emper
Source project has a limited visibility.
  • Florian Fischer's avatar
    65a593bc
    add concurrent BPS test · 65a593bc
    Florian Fischer authored
    The test introduces multiple cycles of Semaphores and
    a Fiber for each semaphore blocking and signaling the next.
    Through work-stealing the fibers from a cycle should be spread
    across different workers and thus test concurrent use of
    BinaryPrivateSemaphores.
    
    Cycle of length 3: Sem A -> Sem B -> Sem C -> Sem A -> ...
    Algorithm:
    	if isFirstInCycle
    		signal next
    
    	wait
    
    	if not isFirstInCycle
    		signal next
    65a593bc
    History
    add concurrent BPS test
    Florian Fischer authored
    The test introduces multiple cycles of Semaphores and
    a Fiber for each semaphore blocking and signaling the next.
    Through work-stealing the fibers from a cycle should be spread
    across different workers and thus test concurrent use of
    BinaryPrivateSemaphores.
    
    Cycle of length 3: Sem A -> Sem B -> Sem C -> Sem A -> ...
    Algorithm:
    	if isFirstInCycle
    		signal next
    
    	wait
    
    	if not isFirstInCycle
    		signal next