~drizzle-trunk/drizzle/development

Viewing all changes in revision 1819.9.55.

  • 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().

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: