From: Marc Alff Date: May 5 2011 1:16am Subject: bzr push into mysql-trunk-pfs-tuning branch (marc.alff:3372 to 3373) List-Archive: http://lists.mysql.com/commits/136697 Message-Id: <201105050116.p451GG8p030585@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3373 Marc Alff 2011-05-04 Added missing new file psi_provider.h added: include/psi_provider.h 3372 Marc Alff 2011-05-04 PERFORMANCE SCHEMA performance optimizations Prototyping making static calls to the instrumentation, with PSI_CALL(). modified: include/my_global.h include/my_pthread.h include/my_sys.h include/mysql/psi/psi.h include/mysql/psi/psi_abi_v1.h.pp include/mysql/psi/psi_abi_v2.h.pp mysys/lf_alloc-pin.c sql/CMakeLists.txt sql/mysqld.cc storage/innobase/CMakeLists.txt storage/perfschema/pfs.cc storage/perfschema/pfs_instr_class.cc storage/perfschema/pfs_server.cc === added file 'include/psi_provider.h' --- a/include/psi_provider.h 1970-01-01 00:00:00 +0000 +++ b/include/psi_provider.h 2011-05-05 01:15:08 +0000 @@ -0,0 +1,52 @@ +/* Copyright (c) 2011, 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, + 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA */ + +#ifndef PSI_PROVIDER_H +#define PSI_PROVIDER_H + +#include + +#ifdef WANT_STATIC_PSI_CALL + +/* PSI provider: performance schema */ +#ifdef WITH_PERFSCHEMA_STORAGE_ENGINE + +/* + Performance optimization for static builds. + Compiling static calls to the performance schema, + to bypass the dynamic PSI_server interface. +*/ + +#define USE_PSI_V1 +#define PSI_CALL(API) pfs_ ## API ## _v1 +#include <../storage/perfschema/pfs_api.h> +#endif /* WITH_PERFSCHEMA_STORAGE_ENGINE */ + +/* PSI_provider: */ + +#endif /* WANT_STATIC_PSI_CALL */ + +/* + By default, dynamic call. +*/ + +#ifndef PSI_CALL +#define PSI_CALL(API) PSI_server->API +#include +extern MYSQL_PLUGIN_IMPORT PSI *PSI_server; +#endif + +#endif + No bundle (reason: useless for push emails).