1. 28 Jan, 2019 6 commits
    • Vladislav Vaintroub's avatar
      Use rwlock rather than mutex for protecting THD_list · 8b4fcc43
      Vladislav Vaintroub authored
      modifications (insert/erase) are protected by write lock
      iteration over list is protected by read lock.
      
      This way, threads that iterate over the list (as in SHOW PROCESSLIST,
      SHOW GLOBAL STATUS) do not block each other.
      8b4fcc43
    • Sergey Vojtovich's avatar
      Removed redundant service_thread_count · 9824ec81
      Sergey Vojtovich authored
      In contrast to thread_count, which is decremented by THD destructor,
      this one was most probably intended to be decremented after all THD
      destructors are done.
      
      THD_count class was added to achieve similar effect with thread_count.
      
      Aim is to reduce usage of LOCK_thread_count and COND_thread_count.
      Part of MDEV-15135.
      9824ec81
    • Sergey Vojtovich's avatar
      Move THD list handling to THD_list · 3503fbbe
      Sergey Vojtovich authored
      Implemented and integrated THD_list as a replacement for the global
      thread list. It uses own mutex instead of LOCK_thread_count for THD
      list protection.
      
      Removed unused first_global_thread() and next_global_thread().
      
      delayed_insert_threads is now protected by LOCK_delayed_insert. Although
      this patch doesn't fix very wrong synchronization of this variable.
      
      After this patch there are only 2 legitimate uses of LOCK_thread_count
      left, both in mysqld.cc: thread_count and ready_to_exit.
      
      Aim is to reduce usage of LOCK_thread_count and COND_thread_count.
      Part of MDEV-15135.
      3503fbbe
    • Sergey Vojtovich's avatar
      Simplified THD::current_linfo locking · 891be49a
      Sergey Vojtovich authored
      LOG_INFO::lock was useless. It could've only protect against concurrent
      iterators execution, which was already protected by LOCK_thread_count.
      
      Use LOCK_thd_data instead of LOCK_thread_count as a protection against
      THD::current_linfo reset.
      
      Aim is to reduce usage of LOCK_thread_count and COND_thread_count.
      Part of MDEV-15135.
      891be49a
    • Sergey Vojtovich's avatar
      Execute bootstrap in main thread · c88fd54d
      Sergey Vojtovich authored
      Bootstrap in a separate thread was introduced in 746f0b3b to workaround
      OS/2 small stack size. OS/2 support was discontinued in 2006 and modern
      operating systems have default stack size a few times larger than
      default thread_stack and it is tunable.
      
      Aim is to reduce usage of LOCK_thread_count and COND_thread_count.
      Part of MDEV-15135.
      c88fd54d
    • Sergey Vojtovich's avatar
      Simplified code, no functional changes · 7ad742b2
      Sergey Vojtovich authored
      7ad742b2
  2. 26 Jan, 2019 5 commits
  3. 25 Jan, 2019 22 commits
  4. 24 Jan, 2019 7 commits