-
Committer:
Stewart Smith
-
Author(s):
Marko Mäkelä
-
Date:
2010-11-19 04:18:11 UTC
-
mto:
(2021.1.2 build)
-
mto:
This revision was merged to the branch mainline in
revision
1971.
-
Revision ID:
stewart@flamingspork.com-20101119041811-d9ft34gdro5mauo1
Merge Revision revid:marko.makela@oracle.com-20100809085837-s1nfx6gjf7l6ttab from MySQL InnoDB
Original revid:marko.makela@oracle.com-20100809085837-s1nfx6gjf7l6ttab
Original Authors: Marko Mäkelä <marko.makela@oracle.com>
Original commit message:
Reduce the ibuf_mutex hold time. This does not fix the update
regression in Bug #54914, but it does speed up the execution for
innodb_change_buffering=inserts.
ibuf_add_ops(), ibuf_merge_or_delete_for_page(),
ibuf_delete_for_discarded_space(): Use atomic built-ins instead of
ibuf_mutex, when available.
ibuf_add_free_page(), ibuf_remove_free_page(), ibuf_contract_ext():
Release ibuf_mutex earlier.
ibuf_free_excess_pages(): Release ibuf_mutex before a conditional branch.
ibuf_insert_low(): Release ibuf_mutex before a conditional
branch. Create ibuf_entry before re-acquiring ibuf_mutex. Simplify a
loop to reduce code footprint. Release ibuf_mutex before mtr_commit()
[btr_pcur_close()].
ibuf_is_empty(): Release ibuf_mutex before mtr_commit().