• Sergei Golubchik's avatar
    WL#3064 - waiting threads - wait-for graph and deadlock detection · 6ba12f07
    Sergei Golubchik authored
    client/mysqltest.c:
      compiler warnings
    configure.in:
      remove old tests for unused programs
      disable the use of gcc built-ins if smp assembler atomics were selected explictily.
      add waiting_threads.o to THREAD_LOBJECTS
    include/lf.h:
      replace the end-of-stack pointer with the pointer to the end-of-stack pointer.
      the latter could be stored in THD (mysys_vars) and updated in pool-of-threads
      scheduler.
      constructor/destructor in lf-alloc
    include/my_pthread.h:
      shuffle set_timespec/set_timespec_nsec macros a bit to be able to fill
      several timeout structures with only one my_getsystime() call
    include/waiting_threads.h:
      waiting threads - wait-for graph and deadlock detection
    mysys/Makefile.am:
      add waiting_threads.c
    mysys/lf_alloc-pin.c:
      replace the end-of-stack pointer with the pointer to the end-of-stack pointer.
      the latter could be stored in THD (mysys_vars) and updated in pool-of-threads
      scheduler.
      constructor/destructor in lf-alloc
    mysys/lf_hash.c:
      constructor/destructor in lf-alloc
    mysys/my_thr_init.c:
      remember end-of-stack pointer in the mysys_var
    mysys/waiting_threads.c:
      waiting threads - wait-for graph and deadlock detection
    storage/maria/ha_maria.cc:
      replace the end-of-stack pointer with the pointer to the end-of-stack pointer.
      the latter could be stored in THD (mysys_vars) and updated in pool-of-threads
      scheduler.
    storage/maria/ma_commit.c:
      replace the end-of-stack pointer with the pointer to the end-of-stack pointer.
      the latter could be stored in THD (mysys_vars) and updated in pool-of-threads
      scheduler.
    storage/maria/trnman.c:
      replace the end-of-stack pointer with the pointer to the end-of-stack pointer.
      the latter could be stored in THD (mysys_vars) and updated in pool-of-threads
      scheduler.
    storage/maria/trnman_public.h:
      replace the end-of-stack pointer with the pointer to the end-of-stack pointer.
      the latter could be stored in THD (mysys_vars) and updated in pool-of-threads
      scheduler.
    storage/maria/unittest/trnman-t.c:
      replace the end-of-stack pointer with the pointer to the end-of-stack pointer.
      the latter could be stored in THD (mysys_vars) and updated in pool-of-threads
      scheduler.
    unittest/mysys/Makefile.am:
      add waiting_threads-t
    unittest/mysys/lf-t.c:
      factor out the common code for multi-threaded stress unit tests
      move lf tests to a separate file
    unittest/mysys/my_atomic-t.c:
      factor out the common code for multi-threaded stress unit tests
      move lf tests to a separate file
    unittest/mysys/thr_template.c:
      factor out the common code for multi-threaded stress unit tests
    unittest/mysys/waiting_threads-t.c:
      wt tests
    6ba12f07
waiting_threads.c 18.9 KB