- 25 Oct, 2016 2 commits
-
-
Jan Lindström authored
-
Alexey Botchkov authored
Item_bool fixed to behave smarter with NOT operation.
-
- 24 Oct, 2016 3 commits
-
-
Jan Lindström authored
MDEV-11039 - Add new scheduling algorithm for reducing tail latencies (for 10.2)
-
Jan Lindström authored
-
-
- 23 Oct, 2016 6 commits
-
-
Elena Stepanova authored
-
Elena Stepanova authored
-
sensssz authored
-
sensssz authored
-
sensssz authored
-
sensssz authored
-
- 22 Oct, 2016 3 commits
- 21 Oct, 2016 3 commits
-
-
Kristian Nielsen authored
-
vinchen authored
-
vinchen authored
-
- 19 Oct, 2016 13 commits
-
-
sensssz authored
-
vinchen authored
-
vinchen authored
-
vinchen authored
-
vinchen authored
-
vinchen authored
-
Alexey Botchkov authored
strings/json_lib.c added as a JSON library. SQL frunction added with sql/item_jsonfunc.h/cc
-
sensssz authored
-
-
sensssz authored
-
sensssz authored
-
sensssz authored
-
sensssz authored
-
- 18 Oct, 2016 5 commits
- 17 Oct, 2016 5 commits
-
-
Sergey Vojtovich authored
On PPC64 high-loaded server may crash due to assertion failure in InnoDB rwlocks code. This happened because load order between "recursive" and "writer_thread" wasn't properly enforced.
-
Sergey Vojtovich authored
Clean-up periodic mutex/rwlock waiters wake up. This was a hack needed to workaround broken mutexes/rwlocks implementation. We must have sane implementations now and don't need these anymore: release thread is guaranteed to wake up waiters. Removed redundant ifdef that has equivalent code in both branches. Removed os0atomic.h and os0atomic.ic: not used anymore. Clean-up unused cmake checks.
-
Sergey Vojtovich authored
No point to issue RELEASE memory barrier in os_thread_create_func(): thread creation is full memory barrier. No point to issue os_wmb in rw_lock_set_waiter_flag() and rw_lock_reset_waiter_flag(): this is deadcode and it is unlikely operational anyway. If atomic builtins are unavailable - memory barriers are most certainly unavailable too. RELEASE memory barrier is definitely abused in buf_pool_withdraw_blocks(): most probably it was supposed to commit volatile variable update, which is not what memory barriers actually do. To operate properly it needs corresponding ACQUIRE barrier without an associated atomic operation anyway. ACQUIRE memory barrier is definitely abused in log_write_up_to(): most probably it was supposed to synchronize dirty read of log_sys->write_lsn. To operate properly it needs corresponding RELEASE barrier without an associated atomic operation anyway. Removed a bunch of ACQUIRE memory barriers from InnoDB rwlocks. They're meaningless without corresponding RELEASE memory barriers. Valid usage example of memory barriers without an associated atomic operation: http://en.cppreference.com/w/cpp/atomic/atomic_thread_fence
-
Sergey Vojtovich authored
Replaced InnoDB atomic operations with server atomic operations. Moved INNODB_RW_LOCKS_USE_ATOMICS - it is always defined (code won't compile otherwise). NOTE: InnoDB uses thread identifiers as a target for atomic operations. Thread identifiers should be considered opaque: any attempt to use a thread ID other than in pthreads calls is nonportable and can lead to unspecified results.
-
Sergey Vojtovich authored
Simplified InnoDB mutex implementations, corrected memory barriers usage, use server atomic builtins.
-