List:Commits« Previous MessageNext Message »
From:Marc Alff Date:October 27 2011 11:08pm
Subject:bzr push into mysql-trunk branch (marc.alff:3424 to 3425)
View as plain text  
 3425 Marc Alff	2011-10-28
      Added benchmark code

    added:
      storage/perfschema/unittest/pfs_benchmark-t.cc
      storage/perfschema/unittest/pfs_benchmark_helper.cc
      storage/perfschema/unittest/pfs_benchmark_helper.h
    modified:
      storage/perfschema/unittest/CMakeLists.txt
 3424 Marc Alff	2011-10-27 [merge]
      Merge mysql-trunk --> mysql-trunk-pfs-tuning

    removed:
      mysql-test/collections/default.release
      mysql-test/extra/rpl_tests/rpl_insert_duplicate.test
      mysql-test/r/join_cache_bka_nobnl.result
      mysql-test/r/join_nested_bka_nobnl.result
      mysql-test/r/join_outer_bka_nobnl.result
      mysql-test/r/select_all_bka_nobnl.result
      mysql-test/r/select_icp_mrr_bka_nobnl.result
      mysql-test/r/select_none_bka_nobnl.result
      mysql-test/r/subquery_all_bka_nobnl.result
      mysql-test/r/subquery_nomat_nosj_bka_nobnl.result
      mysql-test/r/subquery_none_bka_nobnl.result
      mysql-test/r/subquery_sj_all_bka_nobnl.result
      mysql-test/r/subquery_sj_dupsweed_bka_nobnl.result
      mysql-test/r/subquery_sj_firstmatch_bka_nobnl.result
      mysql-test/r/subquery_sj_innodb_all_bka_nobnl.result
      mysql-test/r/subquery_sj_innodb_none_bka_nobnl.result
      mysql-test/r/subquery_sj_loosescan_bka_nobnl.result
      mysql-test/r/subquery_sj_mat_bka_nobnl.result
      mysql-test/r/subquery_sj_none_bka_nobnl.result
      mysql-test/suite/rpl/r/rpl_insert_duplicate.result
      mysql-test/suite/rpl/r/rpl_insert_select.result
      mysql-test/suite/rpl/r/rpl_mixed_crash_safe.result.THIS
      mysql-test/suite/rpl/t/rpl_insert_duplicate.test
      mysql-test/suite/rpl/t/rpl_insert_select.test
      mysql-test/suite/rpl/t/rpl_mixed_crash_safe.test.THIS
      mysql-test/t/join_cache_bka_nobnl.test
      mysql-test/t/join_nested_bka_nobnl.test
      mysql-test/t/join_outer_bka_nobnl.test
      mysql-test/t/select_all_bka_nobnl.test
      mysql-test/t/select_icp_mrr_bka_nobnl.test
      mysql-test/t/select_none_bka_nobnl.test
      mysql-test/t/subquery_all_bka_nobnl.test
      mysql-test/t/subquery_nomat_nosj_bka_nobnl.test
      mysql-test/t/subquery_none_bka_nobnl.test
      mysql-test/t/subquery_sj_all_bka_nobnl.test
      mysql-test/t/subquery_sj_dupsweed_bka_nobnl.test
      mysql-test/t/subquery_sj_firstmatch_bka_nobnl.test
      mysql-test/t/subquery_sj_innodb_all_bka_nobnl.test
      mysql-test/t/subquery_sj_innodb_none_bka_nobnl.test
      mysql-test/t/subquery_sj_loosescan_bka_nobnl.test
      mysql-test/t/subquery_sj_mat_bka_nobnl.test
      mysql-test/t/subquery_sj_none_bka_nobnl.test
    added:
      cmd-line-utils/libedit/chartype.c
      cmd-line-utils/libedit/chartype.h
      cmd-line-utils/libedit/eln.c
      cmd-line-utils/libedit/historyn.c
      cmd-line-utils/libedit/np/wcsdup.c
      cmd-line-utils/libedit/tokenizern.c
      mysql-test/collections/default.release.in
      mysql-test/r/get_diagnostics.result
      mysql-test/r/join_cache_bka_nixbnl.result
      mysql-test/r/join_nested_bka_nixbnl.result
      mysql-test/r/join_outer_bka_nixbnl.result
      mysql-test/r/select_all_bka_nixbnl.result
      mysql-test/r/select_icp_mrr_bka_nixbnl.result
      mysql-test/r/select_none_bka_nixbnl.result
      mysql-test/r/subquery_all_bka_nixbnl.result
      mysql-test/r/subquery_nomat_nosj_bka_nixbnl.result
      mysql-test/r/subquery_none_bka_nixbnl.result
      mysql-test/r/subquery_sj_all_bka_nixbnl.result
      mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result
      mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result
      mysql-test/r/subquery_sj_innodb_all_bka_nixbnl.result
      mysql-test/r/subquery_sj_innodb_none_bka_nixbnl.result
      mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result
      mysql-test/r/subquery_sj_mat_bka_nixbnl.result
      mysql-test/r/subquery_sj_none_bka_nixbnl.result
      mysql-test/std_data/bug48633.ARM
      mysql-test/std_data/bug48633.ARZ
      mysql-test/std_data/bug48633.frm
      mysql-test/suite/innodb/t/innodb_bug47167-master.opt
      mysql-test/suite/innodb/t/innodb_file_format-master.opt
      mysql-test/suite/rpl/r/rpl_alter_repository.result
      mysql-test/suite/rpl/r/rpl_general_log.result
      mysql-test/suite/rpl/r/rpl_replicate_rewrite_db.result
      mysql-test/suite/rpl/t/rpl_alter_repository.test
      mysql-test/suite/rpl/t/rpl_general_log.test
      mysql-test/suite/rpl/t/rpl_replicate_rewrite_db.test
      mysql-test/suite/sys_vars/r/innodb_analyze_is_persistent_basic.result
      mysql-test/suite/sys_vars/r/innodb_monitor_disable_basic.result
      mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result
      mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result
      mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result
      mysql-test/suite/sys_vars/r/innodb_print_all_deadlocks_basic.result
      mysql-test/suite/sys_vars/r/innodb_stats_persistent_sample_pages_basic.result
      mysql-test/suite/sys_vars/r/innodb_stats_transient_sample_pages_basic.result
      mysql-test/suite/sys_vars/r/innodb_sync_array_size_basic.result
      mysql-test/suite/sys_vars/t/innodb_analyze_is_persistent_basic.test
      mysql-test/suite/sys_vars/t/innodb_file_format_max_basic-master.opt
      mysql-test/suite/sys_vars/t/innodb_monitor_disable_basic.test
      mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test
      mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test
      mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test
      mysql-test/suite/sys_vars/t/innodb_print_all_deadlocks_basic.test
      mysql-test/suite/sys_vars/t/innodb_stats_persistent_sample_pages_basic.test
      mysql-test/suite/sys_vars/t/innodb_stats_transient_sample_pages_basic.test
      mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test
      mysql-test/t/get_diagnostics.test
      mysql-test/t/join_cache_bka_nixbnl.test
      mysql-test/t/join_nested_bka_nixbnl.test
      mysql-test/t/join_outer_bka_nixbnl.test
      mysql-test/t/select_all_bka_nixbnl.test
      mysql-test/t/select_icp_mrr_bka_nixbnl.test
      mysql-test/t/select_none_bka_nixbnl.test
      mysql-test/t/subquery_all_bka_nixbnl.test
      mysql-test/t/subquery_nomat_nosj_bka_nixbnl.test
      mysql-test/t/subquery_none_bka_nixbnl.test
      mysql-test/t/subquery_sj_all_bka_nixbnl.test
      mysql-test/t/subquery_sj_dupsweed_bka_nixbnl.test
      mysql-test/t/subquery_sj_firstmatch_bka_nixbnl.test
      mysql-test/t/subquery_sj_innodb_all_bka_nixbnl.test
      mysql-test/t/subquery_sj_innodb_none_bka_nixbnl.test
      mysql-test/t/subquery_sj_loosescan_bka_nixbnl.test
      mysql-test/t/subquery_sj_mat_bka_nixbnl.test
      mysql-test/t/subquery_sj_none_bka_nixbnl.test
      sql/sql_get_diagnostics.cc
      sql/sql_get_diagnostics.h
      unittest/gunit/get_diagnostics-t.cc
    renamed:
      cmd-line-utils/libedit/el_term.h => cmd-line-utils/libedit/el_terminal.h
      cmd-line-utils/libedit/key.c => cmd-line-utils/libedit/keymacro.c
      cmd-line-utils/libedit/key.h => cmd-line-utils/libedit/keymacro.h
      cmd-line-utils/libedit/term.c => cmd-line-utils/libedit/terminal.c
    modified:
      .bzrignore
      VERSION
      client/mysql_plugin.c
      client/mysqldump.c
      client/mysqltest.cc
      cmake/create_initial_db.cmake.in
      cmd-line-utils/libedit/CMakeLists.txt
      cmd-line-utils/libedit/README
      cmd-line-utils/libedit/chared.c
      cmd-line-utils/libedit/chared.h
      cmd-line-utils/libedit/common.c
      cmd-line-utils/libedit/config.h
      cmd-line-utils/libedit/el.c
      cmd-line-utils/libedit/el.h
      cmd-line-utils/libedit/emacs.c
      cmd-line-utils/libedit/filecomplete.c
      cmd-line-utils/libedit/filecomplete.h
      cmd-line-utils/libedit/hist.c
      cmd-line-utils/libedit/hist.h
      cmd-line-utils/libedit/histedit.h
      cmd-line-utils/libedit/history.c
      cmd-line-utils/libedit/makelist.sh
      cmd-line-utils/libedit/map.c
      cmd-line-utils/libedit/map.h
      cmd-line-utils/libedit/np/strlcpy.c
      cmd-line-utils/libedit/np/unvis.c
      cmd-line-utils/libedit/np/vis.c
      cmd-line-utils/libedit/np/vis.h
      cmd-line-utils/libedit/parse.c
      cmd-line-utils/libedit/parse.h
      cmd-line-utils/libedit/prompt.c
      cmd-line-utils/libedit/prompt.h
      cmd-line-utils/libedit/read.c
      cmd-line-utils/libedit/read.h
      cmd-line-utils/libedit/readline.c
      cmd-line-utils/libedit/readline/readline.h
      cmd-line-utils/libedit/refresh.c
      cmd-line-utils/libedit/refresh.h
      cmd-line-utils/libedit/search.c
      cmd-line-utils/libedit/search.h
      cmd-line-utils/libedit/sig.c
      cmd-line-utils/libedit/sig.h
      cmd-line-utils/libedit/sys.h
      cmd-line-utils/libedit/tokenizer.c
      cmd-line-utils/libedit/tty.c
      cmd-line-utils/libedit/tty.h
      cmd-line-utils/libedit/vi.c
      include/heap.h
      include/my_pthread.h
      libmysql/authentication_win/handshake_client.cc
      libmysqld/lib_sql.cc
      man/CMakeLists.txt
      mysql-test/CMakeLists.txt
      mysql-test/collections/README
      mysql-test/collections/default.experimental
      mysql-test/extra/rpl_tests/rpl_insert_id.test
      mysql-test/extra/rpl_tests/rpl_insert_ignore.test
      mysql-test/extra/rpl_tests/rpl_loaddata.test
      mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test
      mysql-test/include/commit.inc
      mysql-test/include/explain_non_select.inc
      mysql-test/include/icp_tests.inc
      mysql-test/include/mrr_tests.inc
      mysql-test/include/mtr_check.sql
      mysql-test/include/subquery.inc
      mysql-test/include/subquery_sj.inc
      mysql-test/lib/My/CoreDump.pm
      mysql-test/mysql-test-run.pl
      mysql-test/r/archive.result
      mysql-test/r/cast.result
      mysql-test/r/commit_1innodb.result
      mysql-test/r/compare.result
      mysql-test/r/ctype_utf16.result
      mysql-test/r/ctype_utf32.result
      mysql-test/r/ctype_utf8.result
      mysql-test/r/derived.result
      mysql-test/r/error_simulation.result
      mysql-test/r/explain.result
      mysql-test/r/fulltext.result
      mysql-test/r/group_by.result
      mysql-test/r/having.result
      mysql-test/r/heap.result
      mysql-test/r/index_merge_innodb.result
      mysql-test/r/index_merge_myisam.result
      mysql-test/r/innodb_explain_non_select_all.result
      mysql-test/r/innodb_explain_non_select_none.result
      mysql-test/r/innodb_icp.result
      mysql-test/r/innodb_icp_all.result
      mysql-test/r/innodb_icp_none.result
      mysql-test/r/innodb_mrr.result
      mysql-test/r/innodb_mrr_all.result
      mysql-test/r/innodb_mrr_cost.result
      mysql-test/r/innodb_mrr_cost_all.result
      mysql-test/r/innodb_mrr_cost_icp.result
      mysql-test/r/innodb_mrr_icp.result
      mysql-test/r/innodb_mrr_none.result
      mysql-test/r/join_cache_bka.result
      mysql-test/r/join_cache_bkaunique.result
      mysql-test/r/join_cache_nojb.result
      mysql-test/r/join_nested_bka.result
      mysql-test/r/join_outer.result
      mysql-test/r/join_outer_bka.result
      mysql-test/r/myisam.result
      mysql-test/r/myisam_explain_non_select_all.result
      mysql-test/r/myisam_explain_non_select_none.result
      mysql-test/r/myisam_icp.result
      mysql-test/r/myisam_icp_all.result
      mysql-test/r/myisam_icp_none.result
      mysql-test/r/myisam_mrr.result
      mysql-test/r/myisam_mrr_all.result
      mysql-test/r/myisam_mrr_cost.result
      mysql-test/r/myisam_mrr_cost_all.result
      mysql-test/r/myisam_mrr_cost_icp.result
      mysql-test/r/myisam_mrr_icp.result
      mysql-test/r/myisam_mrr_none.result
      mysql-test/r/mysql_plugin.result
      mysql-test/r/mysqld--help-notwin.result
      mysql-test/r/mysqld--help-win.result
      mysql-test/r/mysqltest.result
      mysql-test/r/optimizer_switch.result
      mysql-test/r/packet.result
      mysql-test/r/partition.result
      mysql-test/r/partition_innodb.result
      mysql-test/r/partition_innodb_plugin.result
      mysql-test/r/partition_myisam.result
      mysql-test/r/plugin.result
      mysql-test/r/ps.result
      mysql-test/r/read_only_innodb.result
      mysql-test/r/select_all_bka.result
      mysql-test/r/select_icp_mrr_bka.result
      mysql-test/r/select_none_bka.result
      mysql-test/r/shm.result
      mysql-test/r/show_check.result
      mysql-test/r/signal.result
      mysql-test/r/sp-code.result
      mysql-test/r/sp-error.result
      mysql-test/r/sp.result
      mysql-test/r/subquery_all.result
      mysql-test/r/subquery_all_bka.result
      mysql-test/r/subquery_mat_none.result
      mysql-test/r/subquery_nomat_nosj.result
      mysql-test/r/subquery_nomat_nosj_bka.result
      mysql-test/r/subquery_none.result
      mysql-test/r/subquery_none_bka.result
      mysql-test/r/subquery_sj_all.result
      mysql-test/r/subquery_sj_all_bka.result
      mysql-test/r/subquery_sj_all_bkaunique.result
      mysql-test/r/subquery_sj_dupsweed.result
      mysql-test/r/subquery_sj_dupsweed_bka.result
      mysql-test/r/subquery_sj_dupsweed_bkaunique.result
      mysql-test/r/subquery_sj_firstmatch.result
      mysql-test/r/subquery_sj_firstmatch_bka.result
      mysql-test/r/subquery_sj_firstmatch_bkaunique.result
      mysql-test/r/subquery_sj_innodb_all_bka.result
      mysql-test/r/subquery_sj_innodb_all_bkaunique.result
      mysql-test/r/subquery_sj_innodb_none_bka.result
      mysql-test/r/subquery_sj_innodb_none_bkaunique.result
      mysql-test/r/subquery_sj_loosescan.result
      mysql-test/r/subquery_sj_loosescan_bka.result
      mysql-test/r/subquery_sj_loosescan_bkaunique.result
      mysql-test/r/subquery_sj_mat.result
      mysql-test/r/subquery_sj_mat_bka.result
      mysql-test/r/subquery_sj_mat_bkaunique.result
      mysql-test/r/subquery_sj_mat_nosj.result
      mysql-test/r/subquery_sj_none.result
      mysql-test/r/subquery_sj_none_bka.result
      mysql-test/r/subquery_sj_none_bkaunique.result
      mysql-test/r/user_var.result
      mysql-test/r/variables-notembedded.result
      mysql-test/r/variables.result
      mysql-test/suite/binlog/r/binlog_stm_blackhole.result
      mysql-test/suite/binlog/r/binlog_unsafe.result
      mysql-test/suite/binlog/t/binlog_unsafe.test
      mysql-test/suite/engines/funcs/r/de_calendar_range.result
      mysql-test/suite/engines/funcs/r/in_calendar_2_unique_constraints_duplicate_update.result
      mysql-test/suite/engines/funcs/r/in_calendar_pk_constraint_duplicate_update.result
      mysql-test/suite/engines/funcs/r/in_calendar_pk_constraint_error.result
      mysql-test/suite/engines/funcs/r/in_calendar_pk_constraint_ignore.result
      mysql-test/suite/engines/funcs/r/in_calendar_unique_constraint_duplicate_update.result
      mysql-test/suite/engines/funcs/r/in_calendar_unique_constraint_error.result
      mysql-test/suite/engines/funcs/r/in_calendar_unique_constraint_ignore.result
      mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_pk_constraint_duplicate_update.result
      mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_pk_constraint_error.result
      mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_pk_constraint_ignore.result
      mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_unique_constraint_duplicate_update.result
      mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_unique_constraint_error.result
      mysql-test/suite/engines/funcs/r/in_multicolumn_calendar_unique_constraint_ignore.result
      mysql-test/suite/engines/funcs/r/in_multicolumn_number_pk_constraint_duplicate_update.result
      mysql-test/suite/engines/funcs/r/up_calendar_range.result
      mysql-test/suite/engines/funcs/t/de_calendar_range.test
      mysql-test/suite/engines/funcs/t/in_calendar_2_unique_constraints_duplicate_update.test
      mysql-test/suite/engines/funcs/t/in_calendar_pk_constraint_duplicate_update.test
      mysql-test/suite/engines/funcs/t/in_calendar_pk_constraint_error.test
      mysql-test/suite/engines/funcs/t/in_calendar_pk_constraint_ignore.test
      mysql-test/suite/engines/funcs/t/in_calendar_unique_constraint_duplicate_update.test
      mysql-test/suite/engines/funcs/t/in_calendar_unique_constraint_error.test
      mysql-test/suite/engines/funcs/t/in_calendar_unique_constraint_ignore.test
      mysql-test/suite/engines/funcs/t/in_multicolumn_calendar_pk_constraint_duplicate_update.test
      mysql-test/suite/engines/funcs/t/in_multicolumn_calendar_pk_constraint_error.test
      mysql-test/suite/engines/funcs/t/in_multicolumn_calendar_pk_constraint_ignore.test
      mysql-test/suite/engines/funcs/t/in_multicolumn_calendar_unique_constraint_duplicate_update.test
      mysql-test/suite/engines/funcs/t/in_multicolumn_calendar_unique_constraint_error.test
      mysql-test/suite/engines/funcs/t/in_multicolumn_calendar_unique_constraint_ignore.test
      mysql-test/suite/engines/funcs/t/in_multicolumn_number_pk_constraint_duplicate_update.test
      mysql-test/suite/engines/funcs/t/up_calendar_range.test
      mysql-test/suite/funcs_1/r/innodb_storedproc_02.result
      mysql-test/suite/funcs_1/r/memory_storedproc_02.result
      mysql-test/suite/funcs_1/r/myisam_storedproc_02.result
      mysql-test/suite/funcs_1/r/storedproc.result
      mysql-test/suite/innodb/r/innodb_bug52745.result
      mysql-test/suite/innodb/r/innodb_bug53591.result
      mysql-test/suite/innodb/r/innodb_file_format.result
      mysql-test/suite/innodb/r/innodb_index_large_prefix.result
      mysql-test/suite/innodb/r/innodb_monitor.result
      mysql-test/suite/innodb/r/innodb_mysql.result
      mysql-test/suite/innodb/r/innodb_prefix_index_liftedlimit.result
      mysql-test/suite/innodb/r/innodb_prefix_index_restart_server.result
      mysql-test/suite/innodb/t/innodb-autoinc-44030.test
      mysql-test/suite/innodb/t/innodb-autoinc.test
      mysql-test/suite/innodb/t/innodb-create-options.test
      mysql-test/suite/innodb/t/innodb-index.test
      mysql-test/suite/innodb/t/innodb-zip.test
      mysql-test/suite/innodb/t/innodb_bug36172.test
      mysql-test/suite/innodb/t/innodb_bug52745.test
      mysql-test/suite/innodb/t/innodb_bug53591.test
      mysql-test/suite/innodb/t/innodb_bug56680.test
      mysql-test/suite/innodb/t/innodb_file_format.test
      mysql-test/suite/innodb/t/innodb_index_large_prefix.test
      mysql-test/suite/innodb/t/innodb_monitor.test
      mysql-test/suite/innodb/t/innodb_prefix_index_liftedlimit.test
      mysql-test/suite/innodb/t/innodb_prefix_index_restart_server.test
      mysql-test/suite/opt_trace/include/general.inc
      mysql-test/suite/opt_trace/include/general2.inc
      mysql-test/suite/opt_trace/include/range.inc
      mysql-test/suite/opt_trace/include/subquery.inc
      mysql-test/suite/opt_trace/r/bugs_no_prot_all.result
      mysql-test/suite/opt_trace/r/bugs_no_prot_none.result
      mysql-test/suite/opt_trace/r/bugs_ps_prot_all.result
      mysql-test/suite/opt_trace/r/bugs_ps_prot_none.result
      mysql-test/suite/opt_trace/r/charset.result
      mysql-test/suite/opt_trace/r/filesort_pq.result
      mysql-test/suite/opt_trace/r/general2_no_prot.result
      mysql-test/suite/opt_trace/r/general2_ps_prot.result
      mysql-test/suite/opt_trace/r/general_no_prot_all.result
      mysql-test/suite/opt_trace/r/general_no_prot_none.result
      mysql-test/suite/opt_trace/r/general_ps_prot_all.result
      mysql-test/suite/opt_trace/r/general_ps_prot_none.result
      mysql-test/suite/opt_trace/r/range_no_prot.result
      mysql-test/suite/opt_trace/r/range_ps_prot.result
      mysql-test/suite/opt_trace/r/security_no_prot.result
      mysql-test/suite/opt_trace/r/security_ps_prot.result
      mysql-test/suite/opt_trace/r/subquery_no_prot.result
      mysql-test/suite/opt_trace/r/subquery_ps_prot.result
      mysql-test/suite/perfschema/include/binlog_common.inc
      mysql-test/suite/perfschema/include/cleanup_helper.inc
      mysql-test/suite/perfschema/include/connection_cleanup.inc
      mysql-test/suite/perfschema/include/connection_load.inc
      mysql-test/suite/perfschema/include/connection_setup.inc
      mysql-test/suite/perfschema/include/event_aggregate_cleanup.inc
      mysql-test/suite/perfschema/include/event_aggregate_load.inc
      mysql-test/suite/perfschema/include/event_aggregate_setup.inc
      mysql-test/suite/perfschema/include/no_protocol.inc
      mysql-test/suite/perfschema/include/pfs_upgrade.inc
      mysql-test/suite/perfschema/include/privilege.inc
      mysql-test/suite/perfschema/include/schema.inc
      mysql-test/suite/perfschema/include/setup_helper.inc
      mysql-test/suite/perfschema/include/socket_check1.inc
      mysql-test/suite/perfschema/include/socket_event.inc
      mysql-test/suite/perfschema/include/socket_event_dbg.inc
      mysql-test/suite/perfschema/include/socket_ipv6.inc
      mysql-test/suite/perfschema/include/socket_summary_check.inc
      mysql-test/suite/perfschema/include/socket_summary_check_dbg.inc
      mysql-test/suite/perfschema/include/stage_cleanup.inc
      mysql-test/suite/perfschema/include/stage_setup.inc
      mysql-test/suite/perfschema/include/start_server_common.inc
      mysql-test/suite/perfschema/include/table_aggregate_cleanup.inc
      mysql-test/suite/perfschema/include/table_aggregate_load.inc
      mysql-test/suite/perfschema/include/table_aggregate_setup.inc
      mysql-test/suite/perfschema/include/table_io_basic_dml.inc
      mysql-test/suite/perfschema/include/table_io_cleanup_helper.inc
      mysql-test/suite/perfschema/include/table_io_result_helper.inc
      mysql-test/suite/perfschema/include/table_io_setup_helper.inc
      mysql-test/suite/perfschema/include/upgrade_check.inc
      mysql-test/suite/perfschema/include/wait_for_pfs_thread_count.inc
      mysql-test/suite/perfschema/include/wait_till_sleep.inc
      mysql-test/suite/perfschema/r/func_file_io.result
      mysql-test/suite/perfschema/r/ortho_iter.result
      mysql-test/suite/perfschema/r/pfs_upgrade.result
      mysql-test/suite/perfschema/r/privilege_table_io.result
      mysql-test/suite/perfschema/r/schema.result
      mysql-test/suite/perfschema/r/start_server_innodb.result
      mysql-test/suite/perfschema/r/start_server_no_account.result
      mysql-test/suite/perfschema/r/start_server_no_cond_class.result
      mysql-test/suite/perfschema/r/start_server_no_cond_inst.result
      mysql-test/suite/perfschema/r/start_server_no_file_class.result
      mysql-test/suite/perfschema/r/start_server_no_file_inst.result
      mysql-test/suite/perfschema/r/start_server_no_host.result
      mysql-test/suite/perfschema/r/start_server_no_mutex_class.result
      mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result
      mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result
      mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result
      mysql-test/suite/perfschema/r/start_server_no_setup_actors.result
      mysql-test/suite/perfschema/r/start_server_no_setup_objects.result
      mysql-test/suite/perfschema/r/start_server_no_socket_class.result
      mysql-test/suite/perfschema/r/start_server_no_socket_inst.result
      mysql-test/suite/perfschema/r/start_server_no_stage_class.result
      mysql-test/suite/perfschema/r/start_server_no_stages_history.result
      mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result
      mysql-test/suite/perfschema/r/start_server_no_statements_history.result
      mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result
      mysql-test/suite/perfschema/r/start_server_no_table_hdl.result
      mysql-test/suite/perfschema/r/start_server_no_table_inst.result
      mysql-test/suite/perfschema/r/start_server_no_thread_class.result
      mysql-test/suite/perfschema/r/start_server_no_thread_inst.result
      mysql-test/suite/perfschema/r/start_server_no_user.result
      mysql-test/suite/perfschema/r/start_server_no_waits_history.result
      mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result
      mysql-test/suite/perfschema/r/start_server_nothing.result
      mysql-test/suite/perfschema/r/start_server_off.result
      mysql-test/suite/perfschema/r/start_server_on.result
      mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result
      mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result
      mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result
      mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result
      mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result
      mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result
      mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result
      mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result
      mysql-test/suite/perfschema/r/table_aggregate_off.result
      mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result
      mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result
      mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result
      mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result
      mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result
      mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result
      mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result
      mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result
      mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result
      mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result
      mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result
      mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result
      mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result
      mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result
      mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result
      mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_2t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result
      mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result
      mysql-test/suite/perfschema/r/table_schema.result
      mysql-test/suite/perfschema/t/aggregate.test
      mysql-test/suite/perfschema/t/all_tests.test
      mysql-test/suite/perfschema/t/bad_option_1.test
      mysql-test/suite/perfschema/t/bad_option_2.test
      mysql-test/suite/perfschema/t/bad_option_3.test
      mysql-test/suite/perfschema/t/bad_option_4.test
      mysql-test/suite/perfschema/t/bad_option_5.test
      mysql-test/suite/perfschema/t/binlog_mix.test
      mysql-test/suite/perfschema/t/binlog_row.test
      mysql-test/suite/perfschema/t/binlog_stmt.test
      mysql-test/suite/perfschema/t/checksum.test
      mysql-test/suite/perfschema/t/cnf_option.cnf
      mysql-test/suite/perfschema/t/cnf_option.test
      mysql-test/suite/perfschema/t/column_privilege.test
      mysql-test/suite/perfschema/t/connection.test
      mysql-test/suite/perfschema/t/connection_3a.test
      mysql-test/suite/perfschema/t/connection_3a_3u.test
      mysql-test/suite/perfschema/t/connection_3u.test
      mysql-test/suite/perfschema/t/csv_table_io.test
      mysql-test/suite/perfschema/t/ddl_accounts.test
      mysql-test/suite/perfschema/t/ddl_cond_instances.test
      mysql-test/suite/perfschema/t/ddl_esgs_by_account_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_esgs_by_host_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_esgs_by_thread_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_esgs_by_user_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_esgs_global_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_esms_by_account_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_esms_by_host_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_esms_by_thread_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_esms_by_user_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_esms_global_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_events_stages_current.test
      mysql-test/suite/perfschema/t/ddl_events_stages_history.test
      mysql-test/suite/perfschema/t/ddl_events_stages_history_long.test
      mysql-test/suite/perfschema/t/ddl_events_statements_current.test
      mysql-test/suite/perfschema/t/ddl_events_statements_history.test
      mysql-test/suite/perfschema/t/ddl_events_statements_history_long.test
      mysql-test/suite/perfschema/t/ddl_events_waits_current.test
      mysql-test/suite/perfschema/t/ddl_events_waits_history.test
      mysql-test/suite/perfschema/t/ddl_events_waits_history_long.test
      mysql-test/suite/perfschema/t/ddl_ews_by_account_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_ews_by_host_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_ews_by_instance.test
      mysql-test/suite/perfschema/t/ddl_ews_by_thread_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_ews_by_user_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_ews_global_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_file_instances.test
      mysql-test/suite/perfschema/t/ddl_fs_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_fs_by_instance.test
      mysql-test/suite/perfschema/t/ddl_hosts.test
      mysql-test/suite/perfschema/t/ddl_mutex_instances.test
      mysql-test/suite/perfschema/t/ddl_os_global_by_type.test
      mysql-test/suite/perfschema/t/ddl_performance_timers.test
      mysql-test/suite/perfschema/t/ddl_rwlock_instances.test
      mysql-test/suite/perfschema/t/ddl_setup_actors.test
      mysql-test/suite/perfschema/t/ddl_setup_consumers.test
      mysql-test/suite/perfschema/t/ddl_setup_instruments.test
      mysql-test/suite/perfschema/t/ddl_setup_objects.test
      mysql-test/suite/perfschema/t/ddl_setup_timers.test
      mysql-test/suite/perfschema/t/ddl_socket_instances.test
      mysql-test/suite/perfschema/t/ddl_socket_summary_by_event_name.test
      mysql-test/suite/perfschema/t/ddl_socket_summary_by_instance.test
      mysql-test/suite/perfschema/t/ddl_threads.test
      mysql-test/suite/perfschema/t/ddl_tiws_by_index_usage.test
      mysql-test/suite/perfschema/t/ddl_tiws_by_table.test
      mysql-test/suite/perfschema/t/ddl_tlws_by_table.test
      mysql-test/suite/perfschema/t/ddl_users.test
      mysql-test/suite/perfschema/t/disabled.def
      mysql-test/suite/perfschema/t/dml_accounts.test
      mysql-test/suite/perfschema/t/dml_cond_instances.test
      mysql-test/suite/perfschema/t/dml_esgs_by_account_by_event_name.test
      mysql-test/suite/perfschema/t/dml_esgs_by_host_by_event_name.test
      mysql-test/suite/perfschema/t/dml_esgs_by_thread_by_event_name.test
      mysql-test/suite/perfschema/t/dml_esgs_by_user_by_event_name.test
      mysql-test/suite/perfschema/t/dml_esgs_global_by_event_name.test
      mysql-test/suite/perfschema/t/dml_esms_by_account_by_event_name.test
      mysql-test/suite/perfschema/t/dml_esms_by_host_by_event_name.test
      mysql-test/suite/perfschema/t/dml_esms_by_thread_by_event_name.test
      mysql-test/suite/perfschema/t/dml_esms_by_user_by_event_name.test
      mysql-test/suite/perfschema/t/dml_esms_global_by_event_name.test
      mysql-test/suite/perfschema/t/dml_events_stages_current.test
      mysql-test/suite/perfschema/t/dml_events_stages_history.test
      mysql-test/suite/perfschema/t/dml_events_stages_history_long.test
      mysql-test/suite/perfschema/t/dml_events_statements_current.test
      mysql-test/suite/perfschema/t/dml_events_statements_history.test
      mysql-test/suite/perfschema/t/dml_events_statements_history_long.test
      mysql-test/suite/perfschema/t/dml_events_waits_current.test
      mysql-test/suite/perfschema/t/dml_events_waits_history.test
      mysql-test/suite/perfschema/t/dml_events_waits_history_long.test
      mysql-test/suite/perfschema/t/dml_ews_by_account_by_event_name.test
      mysql-test/suite/perfschema/t/dml_ews_by_host_by_event_name.test
      mysql-test/suite/perfschema/t/dml_ews_by_instance.test
      mysql-test/suite/perfschema/t/dml_ews_by_thread_by_event_name.test
      mysql-test/suite/perfschema/t/dml_ews_by_user_by_event_name.test
      mysql-test/suite/perfschema/t/dml_ews_global_by_event_name.test
      mysql-test/suite/perfschema/t/dml_file_instances.test
      mysql-test/suite/perfschema/t/dml_fs_by_event_name.test
      mysql-test/suite/perfschema/t/dml_fs_by_instance.test
      mysql-test/suite/perfschema/t/dml_handler.test
      mysql-test/suite/perfschema/t/dml_hosts.test
      mysql-test/suite/perfschema/t/dml_mutex_instances.test
      mysql-test/suite/perfschema/t/dml_os_global_by_type.test
      mysql-test/suite/perfschema/t/dml_performance_timers.test
      mysql-test/suite/perfschema/t/dml_rwlock_instances.test
      mysql-test/suite/perfschema/t/dml_setup_actors.test
      mysql-test/suite/perfschema/t/dml_setup_consumers.test
      mysql-test/suite/perfschema/t/dml_setup_instruments.test
      mysql-test/suite/perfschema/t/dml_setup_objects.test
      mysql-test/suite/perfschema/t/dml_setup_timers.test
      mysql-test/suite/perfschema/t/dml_socket_instances.test
      mysql-test/suite/perfschema/t/dml_socket_summary_by_event_name.test
      mysql-test/suite/perfschema/t/dml_socket_summary_by_instance.test
      mysql-test/suite/perfschema/t/dml_threads.test
      mysql-test/suite/perfschema/t/dml_tiws_by_index_usage.test
      mysql-test/suite/perfschema/t/dml_tiws_by_table.test
      mysql-test/suite/perfschema/t/dml_tlws_by_table.test
      mysql-test/suite/perfschema/t/dml_users.test
      mysql-test/suite/perfschema/t/event_aggregate.test
      mysql-test/suite/perfschema/t/event_aggregate_no_a.test
      mysql-test/suite/perfschema/t/event_aggregate_no_a_no_h.test
      mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u.test
      mysql-test/suite/perfschema/t/event_aggregate_no_a_no_u_no_h.test
      mysql-test/suite/perfschema/t/event_aggregate_no_h.test
      mysql-test/suite/perfschema/t/event_aggregate_no_u.test
      mysql-test/suite/perfschema/t/event_aggregate_no_u_no_h.test
      mysql-test/suite/perfschema/t/func_file_io.test
      mysql-test/suite/perfschema/t/func_mutex.test
      mysql-test/suite/perfschema/t/global_read_lock.test
      mysql-test/suite/perfschema/t/indexed_table_io.test
      mysql-test/suite/perfschema/t/information_schema.test
      mysql-test/suite/perfschema/t/innodb_table_io.test
      mysql-test/suite/perfschema/t/memory_table_io.test
      mysql-test/suite/perfschema/t/merge_table_io.test
      mysql-test/suite/perfschema/t/misc.test
      mysql-test/suite/perfschema/t/multi_table_io.test
      mysql-test/suite/perfschema/t/myisam_file_io.test
      mysql-test/suite/perfschema/t/myisam_table_io.test
      mysql-test/suite/perfschema/t/no_threads.test
      mysql-test/suite/perfschema/t/one_thread_per_con.test
      mysql-test/suite/perfschema/t/ortho_iter.test
      mysql-test/suite/perfschema/t/part_table_io.test
      mysql-test/suite/perfschema/t/pfs_upgrade.test
      mysql-test/suite/perfschema/t/privilege.test
      mysql-test/suite/perfschema/t/privilege_table_io.test
      mysql-test/suite/perfschema/t/query_cache.test
      mysql-test/suite/perfschema/t/read_only.test
      mysql-test/suite/perfschema/t/relaylog.test
      mysql-test/suite/perfschema/t/rollback_table_io.test
      mysql-test/suite/perfschema/t/schema.test
      mysql-test/suite/perfschema/t/selects.test
      mysql-test/suite/perfschema/t/server_init.test
      mysql-test/suite/perfschema/t/setup_actors.test
      mysql-test/suite/perfschema/t/setup_objects.test
      mysql-test/suite/perfschema/t/short_option_1.test
      mysql-test/suite/perfschema/t/short_option_2.test
      mysql-test/suite/perfschema/t/socket_connect.test
      mysql-test/suite/perfschema/t/socket_instances_func.test
      mysql-test/suite/perfschema/t/socket_instances_func_win.test
      mysql-test/suite/perfschema/t/socket_summary_by_event_name_func.test
      mysql-test/suite/perfschema/t/socket_summary_by_instance_func.test
      mysql-test/suite/perfschema/t/socket_summary_by_instance_func_win.test
      mysql-test/suite/perfschema/t/stage_mdl_function.test
      mysql-test/suite/perfschema/t/stage_mdl_global.test
      mysql-test/suite/perfschema/t/stage_mdl_procedure.test
      mysql-test/suite/perfschema/t/stage_mdl_table.test
      mysql-test/suite/perfschema/t/start_server_innodb.test
      mysql-test/suite/perfschema/t/start_server_no_account.test
      mysql-test/suite/perfschema/t/start_server_no_cond_class.test
      mysql-test/suite/perfschema/t/start_server_no_cond_inst.test
      mysql-test/suite/perfschema/t/start_server_no_file_class.test
      mysql-test/suite/perfschema/t/start_server_no_file_inst.test
      mysql-test/suite/perfschema/t/start_server_no_host.test
      mysql-test/suite/perfschema/t/start_server_no_mutex_class.test
      mysql-test/suite/perfschema/t/start_server_no_mutex_inst.test
      mysql-test/suite/perfschema/t/start_server_no_rwlock_class.test
      mysql-test/suite/perfschema/t/start_server_no_rwlock_inst.test
      mysql-test/suite/perfschema/t/start_server_no_setup_actors.test
      mysql-test/suite/perfschema/t/start_server_no_setup_objects.test
      mysql-test/suite/perfschema/t/start_server_no_socket_class.test
      mysql-test/suite/perfschema/t/start_server_no_socket_inst.test
      mysql-test/suite/perfschema/t/start_server_no_stage_class.test
      mysql-test/suite/perfschema/t/start_server_no_stages_history.test
      mysql-test/suite/perfschema/t/start_server_no_stages_history_long.test
      mysql-test/suite/perfschema/t/start_server_no_statement_class.test
      mysql-test/suite/perfschema/t/start_server_no_statements_history.test
      mysql-test/suite/perfschema/t/start_server_no_statements_history_long.test
      mysql-test/suite/perfschema/t/start_server_no_table_hdl.test
      mysql-test/suite/perfschema/t/start_server_no_table_inst.test
      mysql-test/suite/perfschema/t/start_server_no_thread_class.test
      mysql-test/suite/perfschema/t/start_server_no_thread_inst.test
      mysql-test/suite/perfschema/t/start_server_no_user.test
      mysql-test/suite/perfschema/t/start_server_no_waits_history.test
      mysql-test/suite/perfschema/t/start_server_no_waits_history_long.test
      mysql-test/suite/perfschema/t/start_server_nothing.test
      mysql-test/suite/perfschema/t/start_server_off.test
      mysql-test/suite/perfschema/t/start_server_on.test
      mysql-test/suite/perfschema/t/table_aggregate_global_2u_2t.test
      mysql-test/suite/perfschema/t/table_aggregate_global_2u_3t.test
      mysql-test/suite/perfschema/t/table_aggregate_global_4u_2t.test
      mysql-test/suite/perfschema/t/table_aggregate_global_4u_3t.test
      mysql-test/suite/perfschema/t/table_aggregate_hist_2u_2t.test
      mysql-test/suite/perfschema/t/table_aggregate_hist_2u_3t.test
      mysql-test/suite/perfschema/t/table_aggregate_hist_4u_2t.test
      mysql-test/suite/perfschema/t/table_aggregate_hist_4u_3t.test
      mysql-test/suite/perfschema/t/table_aggregate_off.test
      mysql-test/suite/perfschema/t/table_aggregate_thread_2u_2t.test
      mysql-test/suite/perfschema/t/table_aggregate_thread_2u_3t.test
      mysql-test/suite/perfschema/t/table_aggregate_thread_4u_2t.test
      mysql-test/suite/perfschema/t/table_aggregate_thread_4u_3t.test
      mysql-test/suite/perfschema/t/table_io_aggregate_global_2u_2t.test
      mysql-test/suite/perfschema/t/table_io_aggregate_global_2u_3t.test
      mysql-test/suite/perfschema/t/table_io_aggregate_global_4u_2t.test
      mysql-test/suite/perfschema/t/table_io_aggregate_global_4u_3t.test
      mysql-test/suite/perfschema/t/table_io_aggregate_hist_2u_2t.test
      mysql-test/suite/perfschema/t/table_io_aggregate_hist_2u_3t.test
      mysql-test/suite/perfschema/t/table_io_aggregate_hist_4u_2t.test
      mysql-test/suite/perfschema/t/table_io_aggregate_hist_4u_3t.test
      mysql-test/suite/perfschema/t/table_io_aggregate_thread_2u_2t.test
      mysql-test/suite/perfschema/t/table_io_aggregate_thread_2u_3t.test
      mysql-test/suite/perfschema/t/table_io_aggregate_thread_4u_2t.test
      mysql-test/suite/perfschema/t/table_io_aggregate_thread_4u_3t.test
      mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_2t.test
      mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_3t.test
      mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_2t.test
      mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_3t.test
      mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_2t.test
      mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_3t.test
      mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_2t.test
      mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_3t.test
      mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_2t.test
      mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_3t.test
      mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_2t.test
      mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_3t.test
      mysql-test/suite/perfschema/t/table_schema.test
      mysql-test/suite/perfschema/t/tampered_perfschema_table1.test
      mysql-test/suite/perfschema/t/temp_table_io.test
      mysql-test/suite/perfschema/t/thread_cache.test
      mysql-test/suite/perfschema/t/threads_innodb.test
      mysql-test/suite/perfschema/t/threads_insert_delayed.test
      mysql-test/suite/perfschema/t/threads_mysql.test
      mysql-test/suite/perfschema/t/trigger_table_io.test
      mysql-test/suite/perfschema/t/view_table_io.test
      mysql-test/suite/perfschema_stress/README
      mysql-test/suite/perfschema_stress/include/settings.inc
      mysql-test/suite/perfschema_stress/t/modify.test
      mysql-test/suite/perfschema_stress/t/read.test
      mysql-test/suite/perfschema_stress/t/setup.test
      mysql-test/suite/perfschema_stress/t/work.test
      mysql-test/suite/rpl/r/rpl_checksum.result
      mysql-test/suite/rpl/r/rpl_insert_ignore.result
      mysql-test/suite/rpl/r/rpl_known_bugs_detection.result
      mysql-test/suite/rpl/r/rpl_loaddata.result
      mysql-test/suite/rpl/r/rpl_log_pos.result
      mysql-test/suite/rpl/r/rpl_manual_change_index_file.result
      mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result
      mysql-test/suite/rpl/r/rpl_packet.result
      mysql-test/suite/rpl/r/rpl_parallel_ddl.result
      mysql-test/suite/rpl/r/rpl_parallel_start_stop.result
      mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result
      mysql-test/suite/rpl/r/rpl_row_event_max_size.result
      mysql-test/suite/rpl/r/rpl_stm_EE_err2.result
      mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result
      mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result
      mysql-test/suite/rpl/r/rpl_stm_user_variables.result
      mysql-test/suite/rpl/t/rpl_ip_mix.test
      mysql-test/suite/rpl/t/rpl_ip_mix2.test
      mysql-test/suite/rpl/t/rpl_ipv4_as_ipv6.test
      mysql-test/suite/rpl/t/rpl_ipv6.test
      mysql-test/suite/rpl/t/rpl_known_bugs_detection.test
      mysql-test/suite/rpl/t/rpl_manual_change_index_file.test
      mysql-test/suite/rpl/t/rpl_packet.test
      mysql-test/suite/rpl/t/rpl_parallel_ddl.test
      mysql-test/suite/rpl/t/rpl_parallel_start_stop.test
      mysql-test/suite/rpl/t/rpl_parallel_switch_sequential.test
      mysql-test/suite/rpl/t/rpl_rotate_logs.test
      mysql-test/suite/rpl/t/rpl_row_event_max_size.test
      mysql-test/suite/rpl/t/rpl_stm_user_variables.test
      mysql-test/suite/sys_vars/r/all_vars.result
      mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result
      mysql-test/suite/sys_vars/r/max_allowed_packet_func.result
      mysql-test/suite/sys_vars/r/max_binlog_stmt_cache_size_basic.result
      mysql-test/suite/sys_vars/r/optimizer_switch_basic.result
      mysql-test/suite/sys_vars/t/all_vars.test
      mysql-test/suite/sys_vars/t/performance_schema_basic.test
      mysql-test/suite/sys_vars/t/pfs_accounts_size_basic.test
      mysql-test/suite/sys_vars/t/pfs_events_stages_history_long_size_basic.test
      mysql-test/suite/sys_vars/t/pfs_events_stages_history_size_basic.test
      mysql-test/suite/sys_vars/t/pfs_events_statements_history_long_size_basic.test
      mysql-test/suite/sys_vars/t/pfs_events_statements_history_size_basic.test
      mysql-test/suite/sys_vars/t/pfs_events_waits_history_long_size_basic.test
      mysql-test/suite/sys_vars/t/pfs_events_waits_history_size_basic.test
      mysql-test/suite/sys_vars/t/pfs_hosts_size_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_cond_classes_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_cond_instances_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_file_classes_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_file_handles_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_file_instances_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_mutex_classes_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_mutex_instances_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_rwlock_classes_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_rwlock_instances_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_socket_classes_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_socket_instances_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_stage_classes_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_statement_classes_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_table_handles_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_table_instances_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_thread_classes_basic.test
      mysql-test/suite/sys_vars/t/pfs_max_thread_instances_basic.test
      mysql-test/suite/sys_vars/t/pfs_setup_actors_size_basic.test
      mysql-test/suite/sys_vars/t/pfs_setup_objects_size_basic.test
      mysql-test/suite/sys_vars/t/pfs_users_size_basic.test
      mysql-test/t/archive.test
      mysql-test/t/audit_plugin.test
      mysql-test/t/compare.test
      mysql-test/t/ctype_utf16.test
      mysql-test/t/ctype_utf32.test
      mysql-test/t/ctype_utf8.test
      mysql-test/t/derived.test
      mysql-test/t/error_simulation.test
      mysql-test/t/file_contents.test
      mysql-test/t/fulltext.test
      mysql-test/t/group_by.test
      mysql-test/t/handler_read_last.test
      mysql-test/t/heap.test
      mysql-test/t/index_merge_innodb.test
      mysql-test/t/ipv4_as_ipv6.test
      mysql-test/t/ipv6.test
      mysql-test/t/join_cache_bka.test
      mysql-test/t/join_cache_bkaunique.test
      mysql-test/t/join_cache_nojb.test
      mysql-test/t/join_nested_bka.test
      mysql-test/t/join_outer.test
      mysql-test/t/join_outer_bka.test
      mysql-test/t/myisam.test
      mysql-test/t/mysql_plugin.test
      mysql-test/t/mysqld--help-notwin.test
      mysql-test/t/mysqld--help-win.test
      mysql-test/t/mysqltest.test
      mysql-test/t/parser_stack.test
      mysql-test/t/partition.test
      mysql-test/t/partition_innodb.test
      mysql-test/t/partition_innodb_plugin.test
      mysql-test/t/partition_myisam.test
      mysql-test/t/plugin.test
      mysql-test/t/ps.test
      mysql-test/t/select_all_bka.test
      mysql-test/t/select_icp_mrr_bka.test
      mysql-test/t/select_none_bka.test
      mysql-test/t/show_check.test
      mysql-test/t/signal.test
      mysql-test/t/signal_code.test
      mysql-test/t/signal_demo1.test
      mysql-test/t/signal_demo2.test
      mysql-test/t/signal_demo3.test
      mysql-test/t/signal_sqlmode.test
      mysql-test/t/sp-error.test
      mysql-test/t/sp-lock.test
      mysql-test/t/sp.test
      mysql-test/t/subquery_all_bka.test
      mysql-test/t/subquery_nomat_nosj_bka.test
      mysql-test/t/subquery_none_bka.test
      mysql-test/t/subquery_sj_all_bka.test
      mysql-test/t/subquery_sj_all_bkaunique.test
      mysql-test/t/subquery_sj_dupsweed_bka.test
      mysql-test/t/subquery_sj_dupsweed_bkaunique.test
      mysql-test/t/subquery_sj_firstmatch.test
      mysql-test/t/subquery_sj_firstmatch_bka.test
      mysql-test/t/subquery_sj_firstmatch_bkaunique.test
      mysql-test/t/subquery_sj_innodb_all_bka.test
      mysql-test/t/subquery_sj_innodb_all_bkaunique.test
      mysql-test/t/subquery_sj_innodb_none_bka.test
      mysql-test/t/subquery_sj_innodb_none_bkaunique.test
      mysql-test/t/subquery_sj_loosescan_bka.test
      mysql-test/t/subquery_sj_loosescan_bkaunique.test
      mysql-test/t/subquery_sj_mat_bka.test
      mysql-test/t/subquery_sj_mat_bkaunique.test
      mysql-test/t/subquery_sj_none_bka.test
      mysql-test/t/subquery_sj_none_bkaunique.test
      mysql-test/t/user_var.test
      mysql-test/valgrind.supp
      scripts/mysql_install_db.pl.in
      scripts/mysql_install_db.sh
      scripts/mysql_system_tables.sql
      scripts/mysqld_safe.sh
      sql/CMakeLists.txt
      sql/event_db_repository.cc
      sql/event_scheduler.cc
      sql/events.cc
      sql/filesort.cc
      sql/ha_partition.cc
      sql/ha_partition.h
      sql/handler.cc
      sql/handler.h
      sql/item.cc
      sql/item.h
      sql/item_cmpfunc.cc
      sql/item_create.cc
      sql/item_func.cc
      sql/item_subselect.cc
      sql/item_subselect.h
      sql/item_sum.cc
      sql/item_sum.h
      sql/item_xmlfunc.cc
      sql/lex.h
      sql/lock.cc
      sql/log_event.cc
      sql/mysqld.cc
      sql/opt_explain.cc
      sql/opt_range.cc
      sql/opt_trace.cc
      sql/opt_trace.h
      sql/opt_trace2server.cc
      sql/records.cc
      sql/records.h
      sql/rpl_info.h
      sql/rpl_info_dummy.cc
      sql/rpl_info_dummy.h
      sql/rpl_info_factory.cc
      sql/rpl_info_file.cc
      sql/rpl_info_file.h
      sql/rpl_info_handler.h
      sql/rpl_info_table.cc
      sql/rpl_info_table.h
      sql/rpl_info_table_access.cc
      sql/rpl_master.cc
      sql/rpl_mi.cc
      sql/rpl_rli.cc
      sql/rpl_rli.h
      sql/rpl_rli_pdb.cc
      sql/rpl_slave.cc
      sql/share/errmsg-utf8.txt
      sql/sp_head.cc
      sql/sp_head.h
      sql/sp_pcontext.cc
      sql/sp_pcontext.h
      sql/sp_rcontext.cc
      sql/sp_rcontext.h
      sql/sql_acl.cc
      sql/sql_array.h
      sql/sql_base.cc
      sql/sql_class.cc
      sql/sql_class.h
      sql/sql_cmd.h
      sql/sql_delete.cc
      sql/sql_error.cc
      sql/sql_error.h
      sql/sql_help.cc
      sql/sql_insert.cc
      sql/sql_lex.cc
      sql/sql_lex.h
      sql/sql_list.h
      sql/sql_parse.cc
      sql/sql_parse.h
      sql/sql_plugin.cc
      sql/sql_prepare.cc
      sql/sql_select.cc
      sql/sql_select.h
      sql/sql_servers.cc
      sql/sql_show.cc
      sql/sql_signal.cc
      sql/sql_table.cc
      sql/sql_udf.cc
      sql/sql_update.cc
      sql/sql_yacc.yy
      sql/sys_vars.cc
      sql/table.cc
      sql/table.h
      sql/udf_example.c
      storage/archive/azio.c
      storage/archive/ha_archive.cc
      storage/archive/ha_archive.h
      storage/heap/ha_heap.cc
      storage/heap/hp_create.c
      storage/heap/hp_info.c
      storage/innobase/btr/btr0cur.c
      storage/innobase/btr/btr0sea.c
      storage/innobase/buf/buf0buf.c
      storage/innobase/buf/buf0lru.c
      storage/innobase/dict/dict0boot.c
      storage/innobase/dict/dict0crea.c
      storage/innobase/dict/dict0dict.c
      storage/innobase/dict/dict0load.c
      storage/innobase/dict/dict0mem.c
      storage/innobase/dict/dict0stats.c
      storage/innobase/fil/fil0fil.c
      storage/innobase/fsp/fsp0fsp.c
      storage/innobase/ha/ha0ha.c
      storage/innobase/handler/ha_innodb.cc
      storage/innobase/handler/i_s.cc
      storage/innobase/ibuf/ibuf0ibuf.c
      storage/innobase/include/btr0cur.h
      storage/innobase/include/btr0cur.ic
      storage/innobase/include/btr0sea.h
      storage/innobase/include/btr0types.h
      storage/innobase/include/buf0buf.h
      storage/innobase/include/buf0buf.ic
      storage/innobase/include/buf0types.h
      storage/innobase/include/db0err.h
      storage/innobase/include/dict0dict.h
      storage/innobase/include/dict0dict.ic
      storage/innobase/include/dict0mem.h
      storage/innobase/include/fsp0fsp.h
      storage/innobase/include/fsp0fsp.ic
      storage/innobase/include/ha0ha.h
      storage/innobase/include/ha0ha.ic
      storage/innobase/include/page0types.h
      storage/innobase/include/page0zip.ic
      storage/innobase/include/rem0types.h
      storage/innobase/include/row0upd.ic
      storage/innobase/include/sync0rw.h
      storage/innobase/include/sync0rw.ic
      storage/innobase/include/sync0sync.h
      storage/innobase/include/univ.i
      storage/innobase/include/ut0crc32.h
      storage/innobase/os/os0file.c
      storage/innobase/page/page0page.c
      storage/innobase/page/page0zip.c
      storage/innobase/rem/rem0rec.c
      storage/innobase/row/row0ext.c
      storage/innobase/row/row0mysql.c
      storage/innobase/row/row0sel.c
      storage/innobase/srv/srv0start.c
      storage/innobase/sync/sync0rw.c
      storage/innobase/sync/sync0sync.c
      storage/innobase/ut/ut0crc32.c
      storage/myisam/ha_myisam.cc
      storage/myisam/mi_delete_all.c
      storage/perfschema/pfs.cc
      storage/perfschema/pfs_events.h
      storage/perfschema/pfs_instr.cc
      storage/perfschema/pfs_instr_class.cc
      storage/perfschema/pfs_instr_class.h
      storage/perfschema/table_events_stages.cc
      storage/perfschema/table_events_stages.h
      storage/perfschema/table_events_statements.cc
      storage/perfschema/table_events_statements.h
      storage/perfschema/table_events_waits.cc
      storage/perfschema/table_events_waits.h
      storage/perfschema/table_ews_by_thread_by_event_name.cc
      storage/perfschema/table_setup_instruments.cc
      storage/perfschema/table_socket_summary_by_event_name.cc
      storage/perfschema/table_socket_summary_by_instance.cc
      storage/perfschema/table_socket_summary_by_instance.h
      support-files/mysql.spec.sh
      tests/mysql_client_test.c
      unittest/gunit/CMakeLists.txt
      unittest/gunit/bounds_checked_array-t.cc
      unittest/gunit/opt_trace-t.cc
      unittest/gunit/sql_list-t.cc
      unittest/mysys/my_atomic-t.c
      cmd-line-utils/libedit/el_terminal.h
      cmd-line-utils/libedit/keymacro.c
      cmd-line-utils/libedit/keymacro.h
      cmd-line-utils/libedit/terminal.c
=== modified file 'storage/perfschema/unittest/CMakeLists.txt'
--- a/storage/perfschema/unittest/CMakeLists.txt	2011-07-29 09:10:56 +0000
+++ b/storage/perfschema/unittest/CMakeLists.txt	2011-10-27 23:08:08 +0000
@@ -43,3 +43,9 @@ SET(tests
 FOREACH(testname ${tests})
   PFS_ADD_TEST(${testname})
 ENDFOREACH()
+
+ADD_EXECUTABLE(pfs_benchmark-t pfs_benchmark-t.cc pfs_benchmark_helper.cc)
+TARGET_LINK_LIBRARIES(pfs_benchmark-t mytap perfschema mysys)
+ADD_TEST(pfs_benchmark pfs_benchmark-t)
+
+

=== added file 'storage/perfschema/unittest/pfs_benchmark-t.cc'
--- a/storage/perfschema/unittest/pfs_benchmark-t.cc	1970-01-01 00:00:00 +0000
+++ b/storage/perfschema/unittest/pfs_benchmark-t.cc	2011-10-27 23:08:08 +0000
@@ -0,0 +1,621 @@
+/* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation; version 2 of the License.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
+
+
+/*
+  Define any of these to measure the baseline cost
+
+#define DISABLE_PSI_MUTEX
+#define DISABLE_PSI_RWLOCK
+#define DISABLE_PSI_COND
+#define DISABLE_PSI_FILE
+#define DISABLE_PSI_TABLE
+#define DISABLE_PSI_STAGE
+#define DISABLE_PSI_STATEMENT
+
+  Define this to measure the cost of performance_schema disabled
+#define USE_NOOP
+
+*/
+
+
+#include "my_global.h"
+#include "my_pthread.h"
+#include "pfs_timer.h"
+#include "pfs_server.h"
+#include "pfs_events_waits.h"
+#include "pfs_instr_class.h"
+#include "pfs_instr.h"
+#include "mysql/psi/psi.h"
+#include "mysql/psi/mysql_thread.h"
+#include "mysql/psi/mysql_table.h"
+#include "my_sys.h"
+#include "tap.h"
+
+#include "stub_server_misc.h"
+#include "pfs_benchmark_helper.h"
+
+#include <string.h> /* memset */
+
+static PFS_mutex_class *bench_mutex_class= NULL;
+static mysql_mutex_t bench_mutex;
+static PSI_mutex_key bench_mutex_key;
+PSI_mutex_info all_bench_mutexes[]=
+{
+  { & bench_mutex_key, "benchmark", 0}
+};
+
+static PFS_rwlock_class *bench_rwlock_class= NULL;
+static mysql_rwlock_t bench_rwlock;
+static PSI_rwlock_key bench_rwlock_key;
+PSI_rwlock_info all_bench_rwlocks[]=
+{
+  { & bench_rwlock_key, "benchmark", 0}
+};
+
+static PFS_cond_class *bench_cond_class= NULL;
+static mysql_cond_t bench_cond;
+static PSI_cond_key bench_cond_key;
+PSI_cond_info all_bench_conds[]=
+{
+  { & bench_cond_key, "benchmark", 0}
+};
+
+static PFS_file_class *bench_file_class= NULL;
+static PSI_file_key bench_file_key;
+PSI_file_info all_bench_files[]=
+{
+  { & bench_file_key, "benchmark", 0}
+};
+
+static PSI_thread_key key_thread_main;
+static PSI_thread_info all_bench_threads[]=
+{
+  { & key_thread_main, "main", 0}
+};
+
+// static PSI_table_share *bench_table_share= NULL;
+static PSI_table *bench_table_handle= NULL;
+
+static void setup()
+{
+  PFS_global_param param;
+
+  memset(& param, 0xFF, sizeof(param));
+  param.m_enabled= true;
+  param.m_mutex_class_sizing= 10;
+  param.m_rwlock_class_sizing= 10;
+  param.m_cond_class_sizing= 10;
+  param.m_thread_class_sizing= 10;
+  param.m_table_share_sizing= 10;
+  param.m_file_class_sizing= 10;
+  param.m_mutex_sizing= 10;
+  param.m_rwlock_sizing= 10;
+  param.m_cond_sizing= 10;
+  param.m_thread_sizing= 10;
+  param.m_table_sizing= 10;
+  param.m_file_sizing= 10;
+  param.m_file_handle_sizing= 32000;
+  param.m_socket_sizing= 10;
+  param.m_socket_class_sizing= 10;
+  param.m_events_waits_history_sizing= 10;
+  param.m_events_waits_history_long_sizing= 1000;
+  param.m_setup_actor_sizing= 10;
+  param.m_setup_object_sizing= 10;
+  param.m_host_sizing= 10;
+  param.m_user_sizing= 10;
+  param.m_account_sizing= 10;
+  param.m_stage_class_sizing= 0;
+  param.m_events_stages_history_sizing= 0;
+  param.m_events_stages_history_long_sizing= 0;
+  param.m_statement_class_sizing= 0;
+  param.m_events_statements_history_sizing= 0;
+  param.m_events_statements_history_long_sizing= 0;
+
+#ifndef USE_NOOP
+  PSI_bootstrap *boot;
+  boot= initialize_performance_schema(& param);
+  ok(boot != NULL, "boot");
+  ok(boot->get_interface != NULL, "boot->get_interface");
+
+  PSI_server= (PSI*) boot->get_interface(PSI_CURRENT_VERSION);
+#endif
+
+  ok(PSI_server != NULL, "current version");
+
+  PSI_server->register_mutex("unittest", all_bench_mutexes, 1);
+  PSI_server->register_rwlock("unittest", all_bench_rwlocks, 1);
+  PSI_server->register_cond("unittest", all_bench_conds, 1);
+  PSI_server->register_file("unittest", all_bench_files, 1);
+  PSI_server->register_thread("unittest", all_bench_threads, 1);
+
+  PSI_thread *psi= PSI_server->new_thread(key_thread_main, NULL, 0);
+  ok(psi != NULL, "main thread");
+  PSI_server->set_thread(psi);
+
+  mysql_mutex_init(bench_mutex_key, & bench_mutex, MY_MUTEX_INIT_FAST);
+  bench_mutex_class= find_mutex_class(bench_mutex_key);
+  ok(bench_mutex_class != NULL, "mutex class");
+
+  mysql_rwlock_init(bench_rwlock_key, & bench_rwlock);
+  bench_rwlock_class= find_rwlock_class(bench_rwlock_key);
+  ok(bench_rwlock_class != NULL, "rwlock class");
+
+  mysql_cond_init(bench_cond_key, & bench_cond, NULL);
+  bench_cond_class= find_cond_class(bench_cond_key);
+  ok(bench_cond_class != NULL, "cond class");
+
+  bench_file_class= find_file_class(bench_file_key);
+  ok(bench_file_class != NULL, "file class");
+}
+
+static void teardown()
+{
+  mysql_mutex_destroy(& bench_mutex);
+  mysql_rwlock_destroy(& bench_rwlock);
+  mysql_cond_destroy(& bench_cond);
+  shutdown_performance_schema();
+}
+
+void benchmark_mutex(bool timed, uint count, const char *test)
+{
+  ulonglong timer_start;
+  ulonglong timer_end;
+  ulonglong timer_cycles;
+
+  mysql_mutex_t *that= & bench_mutex;
+
+  timer_start= my_timer_cycles();
+
+  uint i;
+  start_some_work();
+  for (i= 0 ; i<count; i++)
+  {
+    mysql_mutex_lock(that);
+    do_some_work();
+    mysql_mutex_unlock(that);
+  }
+
+  timer_end= my_timer_cycles();
+  timer_cycles= timer_end-timer_start;
+  // ok(get_work_done() == count, "work done");
+
+  diag("MUTEX benchmark: %s (%s), %d calls, %13llu cycles, %13llu avg",
+       test, (timed ? "timed" : "counted"),
+       count, timer_cycles, timer_cycles/count);
+}
+
+void benchmark_rwlock(bool timed, uint count, const char *test)
+{
+  ulonglong timer_start;
+  ulonglong timer_end;
+  ulonglong timer_cycles;
+
+  mysql_rwlock_t *that= & bench_rwlock;
+
+  timer_start= my_timer_cycles();
+
+  uint i;
+  start_some_work();
+  for (i= 0 ; i<count; i++)
+  {
+    mysql_rwlock_rdlock(that);
+    do_some_work();
+    mysql_rwlock_unlock(that);
+  }
+
+  timer_end= my_timer_cycles();
+  timer_cycles= timer_end-timer_start;
+  // ok(get_work_done() == count, "work done");
+
+  diag("RWLOCK benchmark: %s (%s), %d calls, %13llu cycles, %13llu avg",
+       test, (timed ? "timed" : "counted"),
+       count, timer_cycles, timer_cycles/count);
+}
+
+void benchmark_cond(bool timed, uint count, const char *test)
+{
+  ulonglong timer_start;
+  ulonglong timer_end;
+  ulonglong timer_cycles;
+
+  mysql_cond_t *that= & bench_cond;
+  mysql_mutex_t *mutex= & bench_mutex;
+
+  mysql_mutex_lock(mutex);
+  timer_start= my_timer_cycles();
+
+  uint i;
+  start_some_work();
+  for (i= 0 ; i<count; i++)
+  {
+    mysql_cond_signal(that);
+    mysql_cond_broadcast(that);
+    // mysql_cond_wait(that, mutex);
+    do_some_work();
+  }
+
+  timer_end= my_timer_cycles();
+  timer_cycles= timer_end-timer_start;
+  mysql_mutex_unlock(mutex);
+  // ok(get_work_done() == count, "work done");
+
+  diag("COND benchmark: %s (%s), %d calls, %13llu cycles, %13llu avg",
+       test, (timed ? "timed" : "counted"),
+       count, timer_cycles, timer_cycles/count);
+}
+
+void benchmark_file_read(bool timed, uint count, const char *test)
+{
+  ulonglong timer_start;
+  ulonglong timer_end;
+  ulonglong timer_cycles;
+
+  File file;
+
+  /* MYSQL_FILE_OPEN */
+  {
+    struct PSI_file_locker *locker= NULL;
+    PSI_file_locker_state state;
+    if (likely(PSI_server != NULL))
+    {
+      locker= PSI_server->get_thread_file_name_locker(&state, bench_file_key, PSI_FILE_OPEN,
+                                                      "pfs_benchmark-t.cc", &locker);
+      if (likely(locker != NULL))
+        PSI_server->start_file_open_wait(locker, __FILE__, __LINE__);
+    }
+    file= 12;
+    if (likely(locker != NULL))
+      PSI_server->end_file_open_wait_and_bind_to_descriptor(locker, file);
+  }
+
+  timer_start= my_timer_cycles();
+
+  uint i;
+  for (i= 0 ; i<count; i++)
+  {
+    /* MYSQL_FILE_READ */
+    {
+      struct PSI_file_locker *locker= NULL;
+      PSI_file_locker_state state;
+      if (likely(PSI_server != NULL))
+      {
+        locker= PSI_server->get_thread_file_descriptor_locker(&state, file,
+                                                              PSI_FILE_READ);
+        if (likely(locker != NULL))
+          PSI_server->start_file_wait(locker, i, __FILE__, __LINE__);
+      }
+      size_t result= i;
+      if (likely(locker != NULL))
+      {
+        size_t bytes_read;
+/*
+        if (flags & (MY_NABP | MY_FNABP))
+          bytes_read= (result == 0) ? count : 0;
+        else
+*/
+          bytes_read= (result != MY_FILE_ERROR) ? result : 0;
+        PSI_server->end_file_wait(locker, bytes_read);
+      }
+    }
+  }
+
+  timer_end= my_timer_cycles();
+
+  /* MYSQL_FILE_CLOSE */
+  {
+    struct PSI_file_locker *locker= NULL;
+    PSI_file_locker_state state;
+    if (likely(PSI_server != NULL))
+    {
+      locker= PSI_server->get_thread_file_descriptor_locker(&state, file,
+                                                            PSI_FILE_CLOSE);
+      if (likely(locker != NULL))
+        PSI_server->start_file_wait(locker, (size_t) 0, __FILE__, __LINE__);
+    }
+    if (likely(locker != NULL))
+      PSI_server->end_file_wait(locker, (size_t) 0);
+  }
+
+  timer_cycles= timer_end-timer_start;
+
+  diag("FILE READ benchmark: %s (%s), %d calls, %13llu cycles, %13llu avg",
+       test, (timed ? "timed" : "counted"),
+       count, timer_cycles, timer_cycles/count);
+}
+
+void benchmark_file_open(bool timed, uint count, const char *test)
+{
+  ulonglong timer_start;
+  ulonglong timer_end;
+  ulonglong timer_cycles;
+
+  File file;
+
+  timer_start= my_timer_cycles();
+
+  uint i;
+  for (i= 0 ; i<count; i++)
+  {
+    /* MYSQL_FILE_OPEN */
+    {
+      struct PSI_file_locker *locker= NULL;
+      PSI_file_locker_state state;
+      if (likely(PSI_server != NULL))
+      {
+        locker= PSI_server->get_thread_file_name_locker(&state,
+                                                        bench_file_key, PSI_FILE_OPEN,
+                                                        "pfs_benchmark-t.cc", &locker);
+        if (likely(locker != NULL))
+          PSI_server->start_file_open_wait(locker, __FILE__, __LINE__);
+      }
+      file= 12;
+      if (likely(locker != NULL))
+        PSI_server->end_file_open_wait_and_bind_to_descriptor(locker, file);
+    }
+
+    /* MYSQL_FILE_CLOSE */
+    {
+      struct PSI_file_locker *locker= NULL;
+      PSI_file_locker_state state;
+      if (likely(PSI_server != NULL))
+      {
+        locker= PSI_server->get_thread_file_descriptor_locker(&state, file,
+                                                              PSI_FILE_CLOSE);
+        if (likely(locker != NULL))
+          PSI_server->start_file_wait(locker, (size_t) 0, __FILE__, __LINE__);
+      }
+      if (likely(locker != NULL))
+        PSI_server->end_file_wait(locker, (size_t) 0);
+    }
+  }
+
+  timer_end= my_timer_cycles();
+  timer_cycles= timer_end-timer_start;
+
+  diag("FILE OPEN benchmark: %s (%s), %d calls, %13llu cycles, %13llu avg",
+       test, (timed ? "timed" : "counted"),
+       count, timer_cycles, timer_cycles/count);
+}
+
+void benchmark_table_open(bool timed, uint count, const char *test)
+{
+  ulonglong timer_start;
+  ulonglong timer_end;
+  ulonglong timer_cycles;
+
+  PSI_table *that= bench_table_handle;
+  ok(that == NULL, "table is not instrumented yet");
+
+  timer_start= my_timer_cycles();
+
+  uint i;
+  start_some_work();
+  for (i= 0 ; i<count; i++)
+  {
+    MYSQL_TABLE_WAIT_VARIABLES(locker, state) /* no ';' */
+    MYSQL_START_TABLE_IO_WAIT(locker, &state, that,
+                              PSI_TABLE_FETCH_ROW, MAX_KEY, 0);
+    do_some_work();
+    MYSQL_END_TABLE_IO_WAIT(locker);
+  }
+
+  timer_end= my_timer_cycles();
+  timer_cycles= timer_end-timer_start;
+  // ok(get_work_done() == count, "work done");
+
+  diag("TABLE_IO benchmark: %s (%s), %d calls, %13llu cycles, %13llu avg",
+       test, (timed ? "timed" : "counted"),
+       count, timer_cycles, timer_cycles/count);
+}
+
+void benchmark_table_io(bool timed, uint count, const char *test)
+{
+  ulonglong timer_start;
+  ulonglong timer_end;
+  ulonglong timer_cycles;
+
+  PSI_table *that= bench_table_handle;
+  ok(that == NULL, "table is not instrumented yet");
+
+  timer_start= my_timer_cycles();
+
+  uint i;
+  start_some_work();
+  for (i= 0 ; i<count; i++)
+  {
+    MYSQL_TABLE_WAIT_VARIABLES(locker, state) /* no ';' */
+    MYSQL_START_TABLE_IO_WAIT(locker, &state, that,
+                              PSI_TABLE_FETCH_ROW, MAX_KEY, 0);
+    do_some_work();
+    MYSQL_END_TABLE_IO_WAIT(locker);
+  }
+
+  timer_end= my_timer_cycles();
+  timer_cycles= timer_end-timer_start;
+  // ok(get_work_done() == count, "work done");
+
+  diag("TABLE_IO benchmark: %s (%s), %d calls, %13llu cycles, %13llu avg",
+       test, (timed ? "timed" : "counted"),
+       count, timer_cycles, timer_cycles/count);
+}
+
+void benchmark_table_lock(bool timed, uint count, const char *test)
+{
+  ulonglong timer_start;
+  ulonglong timer_end;
+  ulonglong timer_cycles;
+
+  PSI_table *that= bench_table_handle;
+  ok(that == NULL, "table is not instrumented yet");
+
+  timer_start= my_timer_cycles();
+
+  uint i;
+  start_some_work();
+  for (i= 0 ; i<count; i++)
+  {
+    MYSQL_TABLE_WAIT_VARIABLES(locker, state) /* no ';' */
+    MYSQL_START_TABLE_LOCK_WAIT(locker, &state, that,
+                                PSI_TABLE_EXTERNAL_LOCK, F_RDLCK);
+    do_some_work();
+    MYSQL_END_TABLE_LOCK_WAIT(locker);
+  }
+
+  timer_end= my_timer_cycles();
+  timer_cycles= timer_end-timer_start;
+  // ok(get_work_done() == count, "work done");
+
+  diag("TABLE_LOCK benchmark: %s (%s), %d calls, %13llu cycles, %13llu avg",
+       test, (timed ? "timed" : "counted"),
+       count, timer_cycles, timer_cycles/count);
+}
+
+void benchmark_all(bool timed, const char *test)
+{
+  /* The setup may have changed. */
+  update_instruments_derived_flags();
+
+  benchmark_mutex(timed, 1, test);
+  benchmark_rwlock(timed, 1, test);
+  benchmark_cond(timed, 1, test);
+/*
+  benchmark_file_read(timed, 1, test);
+  benchmark_file_open(timed, 1, test);
+*/
+  benchmark_table_io(timed, 1, test);
+  benchmark_table_lock(timed, 1, test);
+
+  benchmark_mutex(timed, 1000, test);
+  benchmark_rwlock(timed, 1000, test);
+  benchmark_cond(timed, 1000, test);
+/*
+  benchmark_file_read(timed, 1000, test);
+  benchmark_file_open(timed, 1000, test);
+*/
+  benchmark_table_io(timed, 1000, test);
+  benchmark_table_lock(timed, 1000, test);
+
+  benchmark_mutex(timed, 1000000, test);
+  benchmark_rwlock(timed, 1000000, test);
+  benchmark_cond(timed, 1000000, test);
+/*
+  benchmark_file_read(timed, 1000000, test);
+  benchmark_file_open(timed, 1000000, test);
+*/
+  benchmark_table_io(timed, 1000000, test);
+  benchmark_table_lock(timed, 1000000, test);
+
+  benchmark_mutex(timed, 10000000, test);
+  benchmark_rwlock(timed, 10000000, test);
+  benchmark_cond(timed, 10000000, test);
+  benchmark_table_io(timed, 10000000, test);
+  benchmark_table_lock(timed, 10000000, test);
+}
+
+void test_all(bool timed)
+{
+#ifdef USE_NOOP
+  benchmark_all(false, "noop");
+#else
+  flag_events_waits_current= true;
+  flag_events_waits_history= true;
+  flag_events_waits_history_long= true;
+  flag_global_instrumentation= true;
+  flag_thread_instrumentation= true;
+
+  bench_mutex_class->m_timed= timed;
+  bench_rwlock_class->m_timed= timed;
+  bench_cond_class->m_timed= timed;
+  bench_file_class->m_timed= timed;
+
+  benchmark_all(timed, "bigbang");
+
+  flag_events_waits_history= false;
+  flag_events_waits_history_long= false;
+  benchmark_all(timed, "no history");
+
+  /* Now same as no history */
+  benchmark_all(timed, "current");
+
+  flag_events_waits_current= false;
+  benchmark_all(timed, "thread_instrumentation");
+
+  flag_thread_instrumentation= false;
+  benchmark_all(timed, "global_instrumentation");
+
+  flag_global_instrumentation= false;
+  benchmark_all(timed, "nothing");
+#endif
+}
+
+void do_all_tests()
+{
+#ifdef HAVE_PSI_MUTEX_INTERFACE
+  diag("MUTEX INSTRUMENTATION compiled in");
+#else
+  diag("MUTEX INSTRUMENTATION not compiled in");
+#endif
+
+#ifdef HAVE_PSI_RWLOCK_INTERFACE
+  diag("RWLOCK INSTRUMENTATION compiled in");
+#else
+  diag("RWLOCK INSTRUMENTATION not compiled in");
+#endif
+
+#ifdef HAVE_PSI_COND_INTERFACE
+  diag("COND INSTRUMENTATION compiled in");
+#else
+  diag("COND INSTRUMENTATION not compiled in");
+#endif
+
+#ifdef HAVE_PSI_FILE_INTERFACE
+  diag("FILE INSTRUMENTATION compiled in");
+#else
+  diag("FILE INSTRUMENTATION not compiled in");
+#endif
+
+#ifdef HAVE_PSI_TABLE_INTERFACE
+  diag("TABLE INSTRUMENTATION compiled in");
+#else
+  diag("TABLE INSTRUMENTATION not compiled in");
+#endif
+
+#ifdef HAVE_PSI_STAGE_INTERFACE
+  diag("STAGE INSTRUMENTATION compiled in");
+#else
+  diag("STAGE INSTRUMENTATION not compiled in");
+#endif
+
+#ifdef HAVE_PSI_STATEMENT_INTERFACE
+  diag("STATEMENT INSTRUMENTATION compiled in");
+#else
+  diag("STATEMENT INSTRUMENTATION not compiled in");
+#endif
+
+  test_all(true);
+  test_all(false);
+}
+
+int main(int, char **)
+{
+  plan(8);
+  MY_INIT("pfs_benchmark-t");
+  setup();
+  do_all_tests();
+  teardown();
+  return 0;
+}
+

=== added file 'storage/perfschema/unittest/pfs_benchmark_helper.cc'
--- a/storage/perfschema/unittest/pfs_benchmark_helper.cc	1970-01-01 00:00:00 +0000
+++ b/storage/perfschema/unittest/pfs_benchmark_helper.cc	2011-10-27 23:08:08 +0000
@@ -0,0 +1,63 @@
+
+unsigned long long work_done;
+
+void start_some_work()
+{
+  work_done= 0;
+}
+
+void do_some_work()
+{
+  work_done++;
+}
+
+unsigned long long get_work_done()
+{
+  return work_done;
+}
+
+// STUB the pthread library
+
+#include "my_global.h"
+#include "my_pthread.h"
+
+int pthread_mutex_lock(pthread_mutex_t *)
+{
+  return 0;
+}
+
+int pthread_mutex_unlock(pthread_mutex_t *)
+{
+  return 0;
+}
+
+int pthread_rwlock_rdlock(pthread_rwlock_t *)
+{
+  return 0;
+}
+
+int pthread_rwlock_wrlock(pthread_rwlock_t *)
+{
+  return 0;
+}
+
+int pthread_rwlock_unlock(pthread_rwlock_t *)
+{
+  return 0;
+}
+
+int pthread_cond_signal(pthread_cond_t *)
+{
+  return 0;
+}
+
+int pthread_cond_broadcast(mysql_cond_t *)
+{
+  return 0;
+}
+
+int pthread_cond_wait(mysql_cond_t *, mysql_mutex_t *)
+{
+  return 0;
+}
+

=== added file 'storage/perfschema/unittest/pfs_benchmark_helper.h'
--- a/storage/perfschema/unittest/pfs_benchmark_helper.h	1970-01-01 00:00:00 +0000
+++ b/storage/perfschema/unittest/pfs_benchmark_helper.h	2011-10-27 23:08:08 +0000
@@ -0,0 +1,10 @@
+
+#ifndef PFS_BENCHMARK_HELPER_H
+#define PFS_BENCHMARK_HELPER_H
+
+extern void start_some_work();
+extern void do_some_work();
+extern unsigned long long get_work_done();
+
+#endif
+

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk branch (marc.alff:3424 to 3425) Marc Alff28 Oct