mariadb/innobase/include
unknown c12c382fc6 This ChangeSet must be null-merged to 5.1. Applied innodb-5.0-ss982, -ss998, -ss1003
Fixes:
- Bug #15815: Very poor performance with multiple queries running concurrently
- Bug #22868: 'Thread thrashing' with > 50 concurrent conns under an upd-intensive workloadw
- Bug #23769: Debug assertion failure with innodb_locks_unsafe_for_binlog
- Bug #24089: Race condition in fil_flush_file_spaces()


innobase/buf/buf0buf.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1000:
  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:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1000:
  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:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1000:
  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/dict/dict0crea.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r974:
  branches/5.0: Port r973 from trunk.
  
  Do not break the latching order in TRUNCATE TABLE.
  
  dict_truncate_index_tree(): Replace parameter rec_t* rec with
  btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
  
  sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
innobase/fil/fil0fil.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1003:
  branches/5.0: Merge r1002 from trunk:
  
  fil_flush_file_spaces(): Copy the system->unflushed_spaces list to an
  array while holding the mutex.  This removes the crash-triggering
  race condition that was introduced when fixing Bug 15653.  (Bug #24089)
innobase/include/buf0buf.h:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1000:
  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:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1000:
  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/dict0crea.h:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r974:
  branches/5.0: Port r973 from trunk.
  
  Do not break the latching order in TRUNCATE TABLE.
  
  dict_truncate_index_tree(): Replace parameter rec_t* rec with
  btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
  
  sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
innobase/include/sync0arr.h:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/include/sync0rw.h:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/include/sync0rw.ic:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/include/sync0sync.h:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/os/os0sync.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/row/row0mysql.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r974:
  branches/5.0: Port r973 from trunk.
  
  Do not break the latching order in TRUNCATE TABLE.
  
  dict_truncate_index_tree(): Replace parameter rec_t* rec with
  btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
  
  sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
innobase/row/row0sel.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r982:
  branches/5.0: row_sel(): Do not try to acquire a LOCK_REC_NOT_GAP lock
  on the supremum record.  Instead, skip to the next record.  (Bug #23769)
  This fix was backported from r623 in the 5.1 tree.
innobase/srv/srv0start.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r926:
  Refer to bug: 22268. Since no one tries to run 5.0 on Windows 95/ME it was
  decided to raise the limit of srv_max_n_threads to 10000 on Windows.
innobase/sync/sync0arr.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/sync/sync0rw.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
innobase/sync/sync0sync.c:
  Applied innodb-5.0-ss982, -ss998, -ss1003
  
  Revision r969:
  branches/5.0: Port r968 from trunk:
  
  sync_thread_add_level(): When level == SYNC_TREE_NODE, allow the latching
  order to be violated if the thread holds dict_operation_lock, whose level is
  SYNC_DICT_OPERATION.  This removes the assertion failure of TRUNCATE TABLE
  #ifdef UNIV_SYNC_DEBUG.
  
  
  Revision r974:
  branches/5.0: Port r973 from trunk.
  
  Do not break the latching order in TRUNCATE TABLE.
  
  dict_truncate_index_tree(): Replace parameter rec_t* rec with
  btr_pcur_t* pcur.  Reposition pcur before calling btr_create().
  
  sync_thread_add_level(): Remove the relaxation of the assertion added in r968.
  
  
  Revision r1001:
  branches/5.0: Reduce locking contention:
  
  Bug #15815: 'Thread thrashing' with > 50 concurrent connections under
  an update-intensive workload.
  Fix: Introduce one event per InnoDB semaphore.
  
  This patch is from Sunny Bains and Heikki Tuuri.
  This patch will not be merged to trunk (MySQL/InnoDB 5.1) yet,
  because it tries to address the problem in a different way.
2006-11-09 05:02:37 +01:00
..
btr0btr.h InnoDB: Remove unused #defines BTR_PAGE_MAX_KEY_SIZE and BTR_COMPRESS_LIMIT. 2005-09-16 15:33:38 +03:00
btr0btr.ic InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
btr0cur.h Applied innodb-5.0-ss368 snapshot 2006-03-29 23:04:32 +04:00
btr0cur.ic innodb r702 2006-08-18 14:16:11 +02:00
btr0pcur.h manually merged 2005-04-06 21:19:20 +02:00
btr0pcur.ic row0sel.c, btr0pcur.c, btr0pcur.ic, btr0pcur.h: 2005-04-06 10:27:40 +03:00
btr0sea.h row0mysql.c: 2004-12-08 14:33:09 +02:00
btr0sea.ic Fixed BUG#15653, BUG#16582. 2006-01-30 22:33:02 +03:00
btr0types.h
buf0buf.h This ChangeSet must be null-merged to 5.1. Applied innodb-5.0-ss982, -ss998, -ss1003 2006-11-09 05:02:37 +01:00
buf0buf.ic This ChangeSet must be null-merged to 5.1. Applied innodb-5.0-ss982, -ss998, -ss1003 2006-11-09 05:02:37 +01:00
buf0flu.h
buf0flu.ic WL 2059 Engine-specific status variables framework and WL 1922 2004-11-18 13:00:42 +03:00
buf0lru.h Applied innodb-5.0-ss368 snapshot 2006-03-29 23:04:32 +04:00
buf0lru.ic
buf0rea.h
buf0types.h
data0data.h Merge with 4.0.21 2004-06-18 04:38:58 +03:00
data0data.ic
data0type.h Applied innodb snapshot ss792 and ss854. 2006-09-20 13:00:49 -06:00
data0type.ic Applied innodb snapshot ss792 and ss854. 2006-09-20 13:00:49 -06:00
data0types.h
db0err.h Many files: 2004-11-26 00:12:50 +02:00
dict0boot.h InnoDB: Implement fast TRUNCATE TABLE (Bug #7150) 2005-01-11 16:28:07 +02:00
dict0boot.ic
dict0crea.h This ChangeSet must be null-merged to 5.1. Applied innodb-5.0-ss982, -ss998, -ss1003 2006-11-09 05:02:37 +01:00
dict0crea.ic
dict0dict.h Applied innodb-5.0-ss476 snapshot. 2006-04-21 01:07:37 +04:00
dict0dict.ic Applied innodb-5.0-ss521 snapshot. 2006-05-04 00:32:34 +04:00
dict0load.h Fix BUG#12071: "Windows hang: 'Opening tables' or 'Waiting for 2005-12-12 21:06:59 +03:00
dict0load.ic
dict0mem.h Applied innodb-5.0-ss476 snapshot. 2006-04-21 01:07:37 +04:00
dict0mem.ic
dict0types.h
dyn0dyn.h InnoDB: Remove warnings detected by GCC 4.0.0 2005-06-20 11:06:20 +03:00
dyn0dyn.ic InnoDB: Remove warnings detected by GCC 4.0.0 2005-06-20 11:06:20 +03:00
eval0eval.h
eval0eval.ic eval0eval.ic: 2005-02-02 01:43:25 +02:00
eval0proc.h
eval0proc.ic
fil0fil.h manually merged 2004-12-31 15:26:24 +01:00
fsp0fsp.h fsp0fsp.h: 2004-10-01 20:05:30 +03:00
fsp0fsp.ic
fut0fut.h
fut0fut.ic
fut0lst.h
fut0lst.ic
ha0ha.h Applied innodb-5.0-ss368 snapshot 2006-03-29 23:04:32 +04:00
ha0ha.ic
hash0hash.h Cset exclude: heikki@hundin.mysql.fi|ChangeSet|20041027124510|04970 2004-12-08 14:34:58 +02:00
hash0hash.ic Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040311211202|05613 2004-06-17 13:25:06 +03:00
ibuf0ibuf.h
ibuf0ibuf.ic
ibuf0types.h
lock0lock.h Changes from the innodb-5.0-ss115 snapshot. 2006-01-16 14:32:43 +03:00
lock0lock.ic Many files: 2004-12-02 19:45:07 +02:00
lock0types.h
log0log.h InnoDB: Remove unreachable debug code from non-debug builds. 2005-06-15 12:50:27 +03:00
log0log.ic Merge with 4.0.21 2004-06-18 04:38:58 +03:00
log0recv.h
log0recv.ic
mach0data.h InnoDB: Performance optimizations based on OProfile analysis 2005-04-25 10:14:35 +03:00
mach0data.ic InnoDB: Performance optimizations based on OProfile analysis 2005-04-25 10:14:35 +03:00
Makefile.am Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1 2005-10-27 23:43:20 +03:00
Makefile.i
mem0dbg.h mem0dbg.h, mem0dbg.c: 2004-06-17 17:30:33 +03:00
mem0dbg.ic Merge with 4.0.21 2004-06-18 04:38:58 +03:00
mem0mem.h Minor corrections to InnoDB function comments 2005-09-29 12:37:27 +03:00
mem0mem.ic Minor corrections to InnoDB function comments 2005-09-29 12:37:27 +03:00
mem0pool.h
mem0pool.ic
mtr0log.h InnoDB: Remove warnings detected by GCC 4.0.0 2005-06-20 11:06:20 +03:00
mtr0log.ic manually merged 2004-08-18 19:57:55 +02:00
mtr0mtr.h InnoDB: Replace the redo log entry type 2005-04-18 15:12:30 +03:00
mtr0mtr.ic
mtr0types.h
os0file.h Changes from the innodb-5.0-ss115 snapshot. 2006-01-16 14:32:43 +03:00
os0proc.h Forward port of HugeTLB, InnoDB doublewrite and checksums patches to 5.0 2004-12-14 22:26:31 +03:00
os0proc.ic
os0sync.h
os0sync.ic
os0thread.h
os0thread.ic
page0cur.h InnoDB: Optimize page_cur_search_with_match(). 2005-06-30 11:15:06 +03:00
page0cur.ic InnoDB: Performance optimizations based on OProfile analysis 2005-04-25 10:14:35 +03:00
page0page.h InnoDB: Performance optimizations based on OProfile analysis 2005-04-25 10:14:35 +03:00
page0page.ic Applied innodb-5.0-ss368 snapshot 2006-03-29 23:04:32 +04:00
page0types.h
pars0grm.h
pars0opt.h
pars0opt.ic
pars0pars.h InnoDB: Portability fixes for warnings reported on IA-64 Windows 2005-03-07 12:03:33 +02:00
pars0pars.ic
pars0sym.h InnoDB: Portability fixes for warnings reported on IA-64 Windows 2005-03-07 12:03:33 +02:00
pars0sym.ic
pars0types.h
que0que.h Many files: 2005-03-16 00:34:15 +02:00
que0que.ic Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040316101802|63386 2004-06-17 14:01:56 +03:00
que0types.h
read0read.h A fix and a test case for Bug#12243 "MySQL Server crashes with 2 2005-08-10 18:36:13 +04:00
read0read.ic InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
read0types.h Implement MySQL framework to support consistent read views in 2005-07-22 14:10:03 +03:00
rem0cmp.h Fix BUG#12071: "Windows hang: 'Opening tables' or 'Waiting for 2005-12-12 21:06:59 +03:00
rem0cmp.ic InnoDB: Fix some bugs in the new record format. (Bug #7493) 2004-12-28 01:34:52 +02:00
rem0rec.h BUG#13900 DATETIME data changes after inserting a new row in a InnoDB table 2005-10-17 14:11:37 -04:00
rem0rec.ic BUG#13900 DATETIME data changes after inserting a new row in a InnoDB table 2005-10-17 14:11:37 -04:00
rem0types.h
row0ins.h Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040311211202|05613 2004-06-17 13:25:06 +03:00
row0ins.ic
row0mysql.h Changes from the innodb-5.0-ss115 snapshot. 2006-01-16 14:32:43 +03:00
row0mysql.ic Many files: 2005-03-16 00:34:15 +02:00
row0purge.h
row0purge.ic
row0row.h Many files: 2004-12-02 19:45:07 +02:00
row0row.ic Many files: 2004-12-02 19:45:07 +02:00
row0sel.h Many files: 2004-11-26 00:12:50 +02:00
row0sel.ic InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
row0types.h
row0uins.h
row0uins.ic
row0umod.h
row0umod.ic
row0undo.h
row0undo.ic
row0upd.h Many files: 2004-12-02 19:45:07 +02:00
row0upd.ic InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
row0vers.h InnoDB: optimize SELECT performance 2005-03-07 15:23:06 +02:00
row0vers.ic Many files: 2004-12-02 19:45:07 +02:00
srv0que.h
srv0srv.h Applied patch recieved from Marko: 2006-01-18 15:20:56 +03:00
srv0srv.ic
srv0start.h InnoDB: Exclude code from InnoDB Hot Backup builds 2005-02-04 16:25:13 +02:00
sync0arr.h This ChangeSet must be null-merged to 5.1. Applied innodb-5.0-ss982, -ss998, -ss1003 2006-11-09 05:02:37 +01:00
sync0arr.ic
sync0rw.h This ChangeSet must be null-merged to 5.1. Applied innodb-5.0-ss982, -ss998, -ss1003 2006-11-09 05:02:37 +01:00
sync0rw.ic This ChangeSet must be null-merged to 5.1. Applied innodb-5.0-ss982, -ss998, -ss1003 2006-11-09 05:02:37 +01:00
sync0sync.h This ChangeSet must be null-merged to 5.1. Applied innodb-5.0-ss982, -ss998, -ss1003 2006-11-09 05:02:37 +01:00
sync0sync.ic InnoDB: Exclude code from InnoDB Hot Backup builds 2005-02-04 16:25:13 +02:00
sync0types.h
thr0loc.h
thr0loc.ic
trx0purge.h
trx0purge.ic
trx0rec.h Many files: 2004-12-02 19:45:07 +02:00
trx0rec.ic
trx0roll.h WL#1967 2005-02-01 19:48:05 +00:00
trx0roll.ic
trx0rseg.h
trx0rseg.ic InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
trx0sys.h Backport innodb_max_purge_lag from 4.1 2004-10-27 13:33:11 +03:00
trx0sys.ic XA (not completely polished out yet) 2005-01-16 13:16:23 +01:00
trx0trx.h InnoDB: Fix compile warning. 2005-09-27 09:42:41 +03:00
trx0trx.ic trx0trx.h, trx0trx.ic, row0mysql.c: 2005-07-01 22:53:08 +03:00
trx0types.h
trx0undo.h trx0undo.h, trx0undo.c, trx0trx.c, trx0roll.c: 2005-02-25 22:35:33 +02:00
trx0undo.ic
trx0xa.h trx0xa.h: 2004-12-02 17:40:50 +02:00
univ.i Bug#22224: Windows build depends on ib_config.h 2006-09-28 15:18:33 -04:00
usr0sess.h
usr0sess.ic
usr0types.h
ut0byte.h Many files: 2004-12-02 19:45:07 +02:00
ut0byte.ic Many files: 2004-12-02 19:45:07 +02:00
ut0dbg.h InnoDB: Fix ut0dbg compilation errors on NetWare 2005-06-16 15:00:25 +03:00
ut0lst.h
ut0mem.h InnoDB: Fix potential buffer underflow. 2005-09-29 13:02:18 +03:00
ut0mem.ic InnoDB: Fix ALTER TABLE t DISCARD TABLESPACE (Bug #5851) 2004-10-04 20:38:23 +03:00
ut0rnd.h
ut0rnd.ic InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
ut0sort.h
ut0ut.h InnoDB: Fix compiler warnings and some bad formatting introduced 2005-01-05 12:22:04 +02:00
ut0ut.ic