1. 06 May, 2024 15 commits
  2. 05 May, 2024 17 commits
  3. 04 May, 2024 2 commits
  4. 03 May, 2024 6 commits
    • Vladislav Vaintroub's avatar
      MDEV-34063 tpool - integer overflow in multiplication. · 88f49da8
      Vladislav Vaintroub authored
      When calculating next wakeup timepoint for the timer thread, with large
      thread_pool_stall_limit values, 32bit int overflow can happen.
      Fixed by making one operand 8 byte large.
      
      Also fixed the type of tick_interval to be unsigned, so it does not
      go negative for very thread_pool_stall_limit.
      88f49da8
    • Vladislav Vaintroub's avatar
      b18259ec
    • Vladislav Vaintroub's avatar
      MDEV-33876 CMake, zlib - use names compatible with official FindZLIB.cmake · 029e2a5f
      Vladislav Vaintroub authored
      - ZLIB_LIBRARIES, not ZLIB_LIBRARY
      - ZLIB_INCLUDE_DIRS, not ZLIB_INCLUDE_DIR
      
      For building libmariadb, ZLIB_LIBRARY/ZLIB_INCLUDE_DIR are still defined
      This workaround will be removed later.
      029e2a5f
    • Marko Mäkelä's avatar
      MDEV-33817: AVX512BW and VPCLMULQDQ based CRC-32 · 9ec7819c
      Marko Mäkelä authored
      This is based on https://github.com/intel/intel-ipsec-mb/
      and has been tested both on x86 and x86-64, with code that
      was generated by several versions of GCC and clang.
      GCC 11 or clang 8 or later should be able to compile this,
      and so should recent versions of MSVC.
      
      Thanks to Intel Corporation for providing access to hardware,
      for answering my questions regarding the code, and for
      providing the coefficients for the CRC-32C computation.
      
      crc32_avx512(): Compute a reverse polynomial CRC-32 using
      precomputed tables and carry-less product, for up to 256 bytes
      of unaligned input per loop iteration.
      
      Reviewed by: Vladislav Vaintroub
      9ec7819c
    • Marko Mäkelä's avatar
      MDEV-33817 preparation: Restructuring and unit tests · 611cd6b9
      Marko Mäkelä authored
      In our unit test, let us rely on our own reference
      implementation using the reflected
      CRC-32 ISO 3309 and CRC-32C polynomials. Let us also
      test with various lengths.
      
      Let us refactor the CRC-32 and CRC-32C implementations
      so that no special compilation flags will be needed and
      that some function call indirection will be avoided.
      
      pmull_supported: Remove. We will have pointers to two separate
      functions crc32c_aarch64_pmull() and crc32c_aarch64().
      611cd6b9
    • Yuchen Pei's avatar
      MDEV-33538 make auxiliary spider plugins init depend on actual spider · b84d335d
      Yuchen Pei authored
      The two I_S plugins SPIDER_ALLOC_MEM and SPIDER_WRAPPER_PROTOCOL
      only makes sense if the main SPIDER plugin is installed. Further,
      SPIDER_ALLOC_MEM requires a mutex that requires SPIDER init to fill
      the table.
      
      We also update the spider init query to override
      --transaction_read_only=on so that it does not affect the spider init.
      
      Also fixed error handling in spider_db_init() so that failure in
      spider table init does not result in memory leak
      b84d335d