• unknown's avatar
    Backport patch of bugfix for: · 428a5e2a
    unknown authored
    - Bug #15815: Very poor performance with multiple queries running concurrently
    - Bug #22868: 'Thread thrashing' with > 50 concurrent conns under an upd-intensive workloadw
    
    This is a patch from an e-mail; it is not included (yet) in an InnoDB snapshot.
    
    
    innobase/buf/buf0buf.c:
      branches/5.0: Merge r999 from trunk:
      
      Reduce buffer pool mutex contention under >= 4 big concurrent
      CPU-bound SELECT queries.  (Bug #22868)
      
      Fix: replace the mutex by one mutex protecting the 'flush list'
      (and the free list) and several mutexes protecting portions of the
      buffer pool, where we keep several indivudual LRU lists of pages.
      
      This patch is from Sunny Bains and Heikki Tuuri.
    innobase/buf/buf0flu.c:
      branches/5.0: Merge r999 from trunk:
      
      Reduce buffer pool mutex contention under >= 4 big concurrent
      CPU-bound SELECT queries.  (Bug #22868)
      
      Fix: replace the mutex by one mutex protecting the 'flush list'
      (and the free list) and several mutexes protecting portions of the
      buffer pool, where we keep several indivudual LRU lists of pages.
      
      This patch is from Sunny Bains and Heikki Tuuri.
    innobase/buf/buf0lru.c:
      branches/5.0: Merge r999 from trunk:
      
      Reduce buffer pool mutex contention under >= 4 big concurrent
      CPU-bound SELECT queries.  (Bug #22868)
      
      Fix: replace the mutex by one mutex protecting the 'flush list'
      (and the free list) and several mutexes protecting portions of the
      buffer pool, where we keep several indivudual LRU lists of pages.
      
      This patch is from Sunny Bains and Heikki Tuuri.
    innobase/include/buf0buf.h:
      branches/5.0: Merge r999 from trunk:
      
      Reduce buffer pool mutex contention under >= 4 big concurrent
      CPU-bound SELECT queries.  (Bug #22868)
      
      Fix: replace the mutex by one mutex protecting the 'flush list'
      (and the free list) and several mutexes protecting portions of the
      buffer pool, where we keep several indivudual LRU lists of pages.
      
      This patch is from Sunny Bains and Heikki Tuuri.
    innobase/include/buf0buf.ic:
      branches/5.0: Merge r999 from trunk:
      
      Reduce buffer pool mutex contention under >= 4 big concurrent
      CPU-bound SELECT queries.  (Bug #22868)
      
      Fix: replace the mutex by one mutex protecting the 'flush list'
      (and the free list) and several mutexes protecting portions of the
      buffer pool, where we keep several indivudual LRU lists of pages.
      
      This patch is from Sunny Bains and Heikki Tuuri.
    innobase/include/sync0arr.h:
      branches/5.0: Merge r999 from trunk:
      
      Reduce buffer pool mutex contention under >= 4 big concurrent
      CPU-bound SELECT queries.  (Bug #22868)
      
      Fix: replace the mutex by one mutex protecting the 'flush list'
      (and the free list) and several mutexes protecting portions of the
      buffer pool, where we keep several indivudual LRU lists of pages.
      
      This patch is from Sunny Bains and Heikki Tuuri.
    innobase/include/sync0rw.h:
      branches/5.0: Merge r999 from trunk:
      
      Reduce buffer pool mutex contention under >= 4 big concurrent
      CPU-bound SELECT queries.  (Bug #22868)
      
      Fix: replace the mutex by one mutex protecting the 'flush list'
      (and the free list) and several mutexes protecting portions of the
      buffer pool, where we keep several indivudual LRU lists of pages.
      
      This patch is from Sunny Bains and Heikki Tuuri.
    innobase/include/sync0rw.ic:
      branches/5.0: Merge r999 from trunk:
      
      Reduce buffer pool mutex contention under >= 4 big concurrent
      CPU-bound SELECT queries.  (Bug #22868)
      
      Fix: replace the mutex by one mutex protecting the 'flush list'
      (and the free list) and several mutexes protecting portions of the
      buffer pool, where we keep several indivudual LRU lists of pages.
      
      This patch is from Sunny Bains and Heikki Tuuri.
    innobase/include/sync0sync.h:
      branches/5.0: Merge r999 from trunk:
      
      Reduce buffer pool mutex contention under >= 4 big concurrent
      CPU-bound SELECT queries.  (Bug #22868)
      
      Fix: replace the mutex by one mutex protecting the 'flush list'
      (and the free list) and several mutexes protecting portions of the
      buffer pool, where we keep several indivudual LRU lists of pages.
      
      This patch is from Sunny Bains and Heikki Tuuri.
    innobase/os/os0sync.c:
      branches/5.0: Merge r999 from trunk:
      
      Reduce buffer pool mutex contention under >= 4 big concurrent
      CPU-bound SELECT queries.  (Bug #22868)
      
      Fix: replace the mutex by one mutex protecting the 'flush list'
      (and the free list) and several mutexes protecting portions of the
      buffer pool, where we keep several indivudual LRU lists of pages.
      
      This patch is from Sunny Bains and Heikki Tuuri.
    innobase/sync/sync0arr.c:
      branches/5.0: Merge r999 from trunk:
      
      Reduce buffer pool mutex contention under >= 4 big concurrent
      CPU-bound SELECT queries.  (Bug #22868)
      
      Fix: replace the mutex by one mutex protecting the 'flush list'
      (and the free list) and several mutexes protecting portions of the
      buffer pool, where we keep several indivudual LRU lists of pages.
      
      This patch is from Sunny Bains and Heikki Tuuri.
    innobase/sync/sync0rw.c:
      branches/5.0: Merge r999 from trunk:
      
      Reduce buffer pool mutex contention under >= 4 big concurrent
      CPU-bound SELECT queries.  (Bug #22868)
      
      Fix: replace the mutex by one mutex protecting the 'flush list'
      (and the free list) and several mutexes protecting portions of the
      buffer pool, where we keep several indivudual LRU lists of pages.
      
      This patch is from Sunny Bains and Heikki Tuuri.
    innobase/sync/sync0sync.c:
      branches/5.0: Merge r999 from trunk:
      
      Reduce buffer pool mutex contention under >= 4 big concurrent
      CPU-bound SELECT queries.  (Bug #22868)
      
      Fix: replace the mutex by one mutex protecting the 'flush list'
      (and the free list) and several mutexes protecting portions of the
      buffer pool, where we keep several indivudual LRU lists of pages.
      
      This patch is from Sunny Bains and Heikki Tuuri.
    428a5e2a
os0sync.c 15.6 KB