Skip to content
Snippets Groups Projects
  • Joshua Colp's avatar
    a7c8d4cd
    tests/test_sorcery_memory_cache_thrash: Improve termination process. · a7c8d4cd
    Joshua Colp authored
    When terminating the threads thrashing a sorcery memory cache each
    would be told to stop and then we would wait on them. During at
    least one thrashing test this was problematic due to the specific
    usage pattern in use. It would take some time for termination of the
    thread to occur.
    
    This would occur due to contention between the threads retrieving
    and the threads updating the cache. As the retrieving threads are
    given priority it may be some time before the updating threads
    are able to proceed.
    
    This change makes it so all threads are told to stop and then each
    are joined to ensure they stop. This way all the threads should
    stop at around the same time instead of waiting for one to stop,
    the next to stop, then the next, and so on. As a result of this
    the execution time for each thrash test is much closer to their
    expected value than previously seen as well.
    
    Change-Id: I04a53470b0ea4170b8819180b0bd7475f3642827
    a7c8d4cd
    History
    tests/test_sorcery_memory_cache_thrash: Improve termination process.
    Joshua Colp authored
    When terminating the threads thrashing a sorcery memory cache each
    would be told to stop and then we would wait on them. During at
    least one thrashing test this was problematic due to the specific
    usage pattern in use. It would take some time for termination of the
    thread to occur.
    
    This would occur due to contention between the threads retrieving
    and the threads updating the cache. As the retrieving threads are
    given priority it may be some time before the updating threads
    are able to proceed.
    
    This change makes it so all threads are told to stop and then each
    are joined to ensure they stop. This way all the threads should
    stop at around the same time instead of waiting for one to stop,
    the next to stop, then the next, and so on. As a result of this
    the execution time for each thrash test is much closer to their
    expected value than previously seen as well.
    
    Change-Id: I04a53470b0ea4170b8819180b0bd7475f3642827