Skip to content
Snippets Groups Projects
  1. Oct 28, 2018
  2. Oct 24, 2018
  3. Oct 23, 2018
    • Lioncash's avatar
      common: Remove memory_util.cpp/.h · 1291f3f8
      Lioncash authored
      Everything from here is completely unused and also written with the
      notion of supporting 32-bit architecture variants in mind. Given the
      Switch itself is on a 64-bit architecture, we won't be supporting 32-bit
      architectures. If we need specific allocation functions in the future,
      it's likely more worthwhile to new functions for that purpose.
      1291f3f8
    • Weiyi Wang's avatar
      only redefine 64 bit file operation for MSVC · 2ff2732a
      Weiyi Wang authored
      MinGW provides POSIX functions
      2ff2732a
  4. Oct 20, 2018
  5. Oct 18, 2018
  6. Oct 11, 2018
  7. Oct 06, 2018
  8. Oct 05, 2018
  9. Oct 04, 2018
  10. Oct 02, 2018
  11. Sep 24, 2018
    • David's avatar
      Stubbed IRS (#1349) · 2513e086
      David authored
      * Stubbed IRS
      
      Currently we have no ideal way of implementing IRS. For the time being we should have the functions stubbed until we come up with a way to emulate IRS properly.
      
      * Added IRS to logging backend
      
      * Forward declared shared memory for irs
      2513e086
  12. Sep 22, 2018
  13. Sep 21, 2018
  14. Sep 19, 2018
    • Lioncash's avatar
      ring_buffer: Use std::atomic_size_t in a static assert · ab6dfa4f
      Lioncash authored
      Avoids the need to repeat "std::" twice
    • Lioncash's avatar
      ring_buffer: Use std::hardware_destructive_interference_size to determine... · c51f8563
      Lioncash authored
      ring_buffer: Use std::hardware_destructive_interference_size to determine alignment size for avoiding false sharing
      
      MSVC 19.11 (A.K.A. VS 15.3)'s C++ standard library implements P0154R1
      (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0154r1.html)
      which defines two new constants within the <new> header, std::hardware_destructive_interference_size
      and std::hardware_constructive_interference_size.
      
      std::hardware_destructive_interference_size defines the minimum
      recommended offset between two concurrently-accessed objects to avoid
      performance degradation due to contention introduced by the
      implementation (with the lower-bound being at least alignof(max_align_t)).
      In other words, the minimum offset between objects necessary to avoid
      false-sharing.
      
      std::hardware_constructive_interference_size on the other hand defines
      the maximum recommended size of contiguous memory occupied by two
      objects accessed wth temporal locality by concurrent threads (also
      defined to be at least alignof(max_align_t)). In other words the maximum
      size to promote true-sharing.
      
      So we can simply use this facility to determine the ideal alignment
      size. Unfortunately, only MSVC supports this right now, so we need to
      enclose it within an ifdef for the time being.
  15. Sep 15, 2018
  16. Sep 08, 2018
  17. Sep 07, 2018
  18. Sep 04, 2018
  19. Aug 24, 2018
  20. Aug 23, 2018
  21. Aug 21, 2018
  22. Aug 16, 2018
  23. Aug 14, 2018
Loading