]> git.pld-linux.org Git - packages/mysql.git/blob - innodb_show_status.patch
- rel 2; update percona patches
[packages/mysql.git] / innodb_show_status.patch
1 # name       : innodb_show_status.patch
2 # introduced : 11 or before
3 # maintainer : Yasufumi
4 #
5 #!!! notice !!!
6 # Any small change to this file in the main branch
7 # should be done or reviewed by the maintainer!
8 diff -ruN a/storage/innobase/buf/buf0buf.c b/storage/innobase/buf/buf0buf.c
9 --- a/storage/innobase/buf/buf0buf.c    2010-11-03 07:01:13.000000000 +0900
10 +++ b/storage/innobase/buf/buf0buf.c    2010-12-03 15:07:31.786968193 +0900
11 @@ -4831,6 +4831,7 @@
12         }
13  
14         total_info->pool_size += pool_info->pool_size;
15 +       total_info->pool_size_bytes += pool_info->pool_size_bytes;
16         total_info->lru_len += pool_info->lru_len;
17         total_info->old_lru_len += pool_info->old_lru_len;
18         total_info->free_list_len += pool_info->free_list_len;
19 @@ -4894,6 +4895,8 @@
20  
21         pool_info->pool_size = buf_pool->curr_size;
22  
23 +       pool_info->pool_size_bytes = buf_pool->curr_pool_size;
24 +
25         pool_info->lru_len = UT_LIST_GET_LEN(buf_pool->LRU);
26  
27         pool_info->old_lru_len = buf_pool->LRU_old_len;
28 @@ -5010,14 +5013,16 @@
29         ut_ad(pool_info);
30  
31         fprintf(file,
32 -               "Buffer pool size   %lu\n"
33 -               "Free buffers       %lu\n"
34 -               "Database pages     %lu\n"
35 -               "Old database pages %lu\n"
36 -               "Modified db pages  %lu\n"
37 +               "Buffer pool size        %lu\n"
38 +               "Buffer pool size, bytes %lu\n"
39 +               "Free buffers            %lu\n"
40 +               "Database pages          %lu\n"
41 +               "Old database pages      %lu\n"
42 +               "Modified db pages       %lu\n"
43                 "Pending reads %lu\n"
44                 "Pending writes: LRU %lu, flush list %lu, single page %lu\n",
45                 pool_info->pool_size,
46 +               pool_info->pool_size_bytes,
47                 pool_info->free_list_len,
48                 pool_info->lru_len,
49                 pool_info->old_lru_len,
50 diff -ruN a/storage/innobase/buf/buf0flu.c b/storage/innobase/buf/buf0flu.c
51 --- a/storage/innobase/buf/buf0flu.c    2010-12-03 20:58:26.000000000 +0300
52 +++ b/storage/innobase/buf/buf0flu.c    2011-01-07 03:37:41.000000000 +0300
53 @@ -75,7 +75,7 @@
54  static buf_flush_stat_t        buf_flush_stat_sum;
55  
56  /** Number of pages flushed through non flush_list flushes. */
57 -static ulint buf_lru_flush_page_count = 0;
58 +// static ulint buf_lru_flush_page_count = 0;
59  
60  /* @} */
61  
62 diff -ruN a/storage/innobase/fil/fil0fil.c b/storage/innobase/fil/fil0fil.c
63 --- a/storage/innobase/fil/fil0fil.c    2010-11-03 07:01:13.000000000 +0900
64 +++ b/storage/innobase/fil/fil0fil.c    2010-12-03 15:07:31.790357112 +0900
65 @@ -4888,3 +4888,30 @@
66  
67         fil_system = NULL;
68  }
69 +
70 +/*************************************************************************
71 +Return local hash table informations. */
72 +
73 +ulint
74 +fil_system_hash_cells(void)
75 +/*=======================*/
76 +{
77 +       if (fil_system) {
78 +               return (fil_system->spaces->n_cells
79 +                       + fil_system->name_hash->n_cells);
80 +       } else {
81 +               return 0;
82 +       }
83 +}
84 +
85 +ulint
86 +fil_system_hash_nodes(void)
87 +/*=======================*/
88 +{
89 +       if (fil_system) {
90 +               return (UT_LIST_GET_LEN(fil_system->space_list)
91 +                       * (sizeof(fil_space_t) + MEM_BLOCK_HEADER_SIZE));
92 +       } else {
93 +               return 0;
94 +       }
95 +}
96 diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
97 --- a/storage/innobase/handler/ha_innodb.cc     2010-12-03 15:06:58.727955654 +0900
98 +++ b/storage/innobase/handler/ha_innodb.cc     2010-12-03 15:07:31.799376984 +0900
99 @@ -603,6 +603,8 @@
100    (char*) &export_vars.innodb_buffer_pool_pages_dirty,   SHOW_LONG},
101    {"buffer_pool_pages_flushed",
102    (char*) &export_vars.innodb_buffer_pool_pages_flushed,  SHOW_LONG},
103 +  {"buffer_pool_pages_LRU_flushed",
104 +  (char*) &export_vars.innodb_buffer_pool_pages_LRU_flushed,  SHOW_LONG},
105    {"buffer_pool_pages_free",
106    (char*) &export_vars.innodb_buffer_pool_pages_free,    SHOW_LONG},
107  #ifdef UNIV_DEBUG
108 @@ -11081,6 +11083,16 @@
109    "Force InnoDB to not use next-key locking, to use only row-level locking.",
110    NULL, NULL, FALSE);
111  
112 +static MYSQL_SYSVAR_ULONG(show_verbose_locks, srv_show_verbose_locks,
113 +  PLUGIN_VAR_OPCMDARG,
114 +  "Whether to show records locked in SHOW INNODB STATUS.",
115 +  NULL, NULL, 0, 0, 1, 0);
116 +
117 +static MYSQL_SYSVAR_ULONG(show_locks_held, srv_show_locks_held,
118 +  PLUGIN_VAR_RQCMDARG,
119 +  "Number of locks held to print for each InnoDB transaction in SHOW INNODB STATUS.",
120 +  NULL, NULL, 10, 0, 1000, 0);
121 +
122  #ifdef UNIV_LOG_ARCHIVE
123  static MYSQL_SYSVAR_STR(log_arch_dir, innobase_log_arch_dir,
124    PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
125 @@ -11268,7 +11280,7 @@
126  
127  static MYSQL_SYSVAR_STR(version, innodb_version_str,
128    PLUGIN_VAR_NOCMDOPT | PLUGIN_VAR_READONLY,
129 -  "InnoDB version", NULL, NULL, INNODB_VERSION_STR);
130 +  "Percona-InnoDB-plugin version", NULL, NULL, INNODB_VERSION_STR);
131  
132  static MYSQL_SYSVAR_BOOL(use_sys_malloc, srv_use_sys_malloc,
133    PLUGIN_VAR_NOCMDARG | PLUGIN_VAR_READONLY,
134 @@ -11361,6 +11373,8 @@
135    MYSQL_SYSVAR(thread_concurrency),
136    MYSQL_SYSVAR(thread_sleep_delay),
137    MYSQL_SYSVAR(autoinc_lock_mode),
138 +  MYSQL_SYSVAR(show_verbose_locks),
139 +  MYSQL_SYSVAR(show_locks_held),
140    MYSQL_SYSVAR(version),
141    MYSQL_SYSVAR(use_sys_malloc),
142    MYSQL_SYSVAR(use_native_aio),
143 diff -ruN a/storage/innobase/include/buf0buf.h b/storage/innobase/include/buf0buf.h
144 --- a/storage/innobase/include/buf0buf.h        2011-01-20 07:37:08.000000000 +0900
145 +++ b/storage/innobase/include/buf0buf.h        2011-02-14 15:25:20.859126532 +0900
146 @@ -125,6 +125,7 @@
147         /* General buffer pool info */
148         ulint   pool_unique_id;         /*!< Buffer Pool ID */
149         ulint   pool_size;              /*!< Buffer Pool size in pages */
150 +       ulint   pool_size_bytes;
151         ulint   lru_len;                /*!< Length of buf_pool->LRU */
152         ulint   old_lru_len;            /*!< buf_pool->LRU_old_len */
153         ulint   free_list_len;          /*!< Length of buf_pool->free list */
154 diff -ruN a/storage/innobase/include/fil0fil.h b/storage/innobase/include/fil0fil.h
155 --- a/storage/innobase/include/fil0fil.h        2010-11-03 07:01:13.000000000 +0900
156 +++ b/storage/innobase/include/fil0fil.h        2010-12-03 15:07:31.812028575 +0900
157 @@ -726,6 +726,17 @@
158  /*============================*/
159         ulint           id);    /*!< in: space id */
160  
161 +/*************************************************************************
162 +Return local hash table informations. */
163 +
164 +ulint
165 +fil_system_hash_cells(void);
166 +/*========================*/
167 +
168 +ulint
169 +fil_system_hash_nodes(void);
170 +/*========================*/
171 +
172  typedef        struct fil_space_struct fil_space_t;
173  
174  #endif
175 diff -ruN a/storage/innobase/include/read0read.h b/storage/innobase/include/read0read.h
176 --- a/storage/innobase/include/read0read.h      2010-12-04 02:58:26.000000000 +0900
177 +++ b/storage/innobase/include/read0read.h      2011-01-21 19:35:44.127631727 +0900
178 @@ -88,6 +88,7 @@
179  void
180  read_view_print(
181  /*============*/
182 +       FILE*                   file,
183         const read_view_t*      view);  /*!< in: read view */
184  /*********************************************************************//**
185  Create a consistent cursor view for mysql to be used in cursors. In this
186 diff -ruN a/storage/innobase/include/srv0srv.h b/storage/innobase/include/srv0srv.h
187 --- a/storage/innobase/include/srv0srv.h        2010-11-03 07:01:13.000000000 +0900
188 +++ b/storage/innobase/include/srv0srv.h        2010-12-03 15:07:31.813958103 +0900
189 @@ -142,6 +142,9 @@
190  extern char    srv_adaptive_flushing;
191  
192  
193 +extern ulint    srv_show_locks_held;
194 +extern ulint    srv_show_verbose_locks;
195 +
196  /* The sort order table of the MySQL latin1_swedish_ci character set
197  collation */
198  extern const byte*     srv_latin1_ordering;
199 @@ -323,6 +326,8 @@
200  buffer pool to disk */
201  extern ulint srv_buf_pool_flushed;
202  
203 +extern ulint buf_lru_flush_page_count;
204 +
205  /** Number of buffer pool reads that led to the
206  reading of a disk page */
207  extern ulint srv_buf_pool_reads;
208 @@ -702,6 +707,7 @@
209         ulint innodb_buffer_pool_reads;         /*!< srv_buf_pool_reads */
210         ulint innodb_buffer_pool_wait_free;     /*!< srv_buf_pool_wait_free */
211         ulint innodb_buffer_pool_pages_flushed; /*!< srv_buf_pool_flushed */
212 +       ulint innodb_buffer_pool_pages_LRU_flushed;     /*!< buf_lru_flush_page_count */
213         ulint innodb_buffer_pool_write_requests;/*!< srv_buf_pool_write_requests */
214         ulint innodb_buffer_pool_read_ahead;    /*!< srv_read_ahead */
215         ulint innodb_buffer_pool_read_ahead_evicted;/*!< srv_read_ahead evicted*/
216 diff -ruN a/storage/innobase/lock/lock0lock.c b/storage/innobase/lock/lock0lock.c
217 --- a/storage/innobase/lock/lock0lock.c 2010-11-03 07:01:13.000000000 +0900
218 +++ b/storage/innobase/lock/lock0lock.c 2010-12-03 15:07:31.819023998 +0900
219 @@ -4374,6 +4374,7 @@
220  
221         putc('\n', file);
222  
223 +       if ( srv_show_verbose_locks ) {
224         block = buf_page_try_get(space, page_no, &mtr);
225  
226         for (i = 0; i < lock_rec_get_n_bits(lock); ++i) {
227 @@ -4400,6 +4401,7 @@
228  
229                 putc('\n', file);
230         }
231 +       }
232  
233         mtr_commit(&mtr);
234         if (UNIV_LIKELY_NULL(heap)) {
235 @@ -4583,7 +4585,7 @@
236                 }
237         }
238  
239 -       if (!srv_print_innodb_lock_monitor) {
240 +        if (!srv_print_innodb_lock_monitor && !srv_show_locks_held) {
241                 nth_trx++;
242                 goto loop;
243         }
244 @@ -4655,8 +4657,8 @@
245  
246         nth_lock++;
247  
248 -       if (nth_lock >= 10) {
249 -               fputs("10 LOCKS PRINTED FOR THIS TRX:"
250 +       if (nth_lock >= srv_show_locks_held) {
251 +               fputs("TOO MANY LOCKS PRINTED FOR THIS TRX:"
252                       " SUPPRESSING FURTHER PRINTS\n",
253                       file);
254  
255 diff -ruN a/storage/innobase/read/read0read.c b/storage/innobase/read/read0read.c
256 --- a/storage/innobase/read/read0read.c 2010-12-04 02:58:26.000000000 +0900
257 +++ b/storage/innobase/read/read0read.c 2011-01-21 19:37:08.292650181 +0900
258 @@ -357,34 +357,35 @@
259  void
260  read_view_print(
261  /*============*/
262 +       FILE*                   file,
263         const read_view_t*      view)   /*!< in: read view */
264  {
265         ulint   n_ids;
266         ulint   i;
267  
268         if (view->type == VIEW_HIGH_GRANULARITY) {
269 -               fprintf(stderr,
270 +               fprintf(file,
271                         "High-granularity read view undo_n:o %llu\n",
272                         (ullint) view->undo_no);
273         } else {
274 -               fprintf(stderr, "Normal read view\n");
275 +               fprintf(file, "Normal read view\n");
276         }
277  
278 -       fprintf(stderr, "Read view low limit trx n:o " TRX_ID_FMT "\n",
279 +       fprintf(file, "Read view low limit trx n:o " TRX_ID_FMT "\n",
280                 (ullint) view->low_limit_no);
281  
282 -       fprintf(stderr, "Read view up limit trx id " TRX_ID_FMT "\n",
283 +       fprintf(file, "Read view up limit trx id " TRX_ID_FMT "\n",
284                 (ullint) view->up_limit_id);
285  
286 -       fprintf(stderr, "Read view low limit trx id " TRX_ID_FMT "\n",
287 +       fprintf(file, "Read view low limit trx id " TRX_ID_FMT "\n",
288                 (ullint) view->low_limit_id);
289  
290 -       fprintf(stderr, "Read view individually stored trx ids:\n");
291 +       fprintf(file, "Read view individually stored trx ids:\n");
292  
293         n_ids = view->n_trx_ids;
294  
295         for (i = 0; i < n_ids; i++) {
296 -               fprintf(stderr, "Read view trx id " TRX_ID_FMT "\n",
297 +               fprintf(file, "Read view trx id " TRX_ID_FMT "\n",
298                         (ullint) read_view_get_nth_trx_id(view, i));
299         }
300  }
301 diff -ruN a/storage/innobase/srv/srv0srv.c b/storage/innobase/srv/srv0srv.c
302 --- a/storage/innobase/srv/srv0srv.c    2010-11-03 07:01:13.000000000 +0900
303 +++ b/storage/innobase/srv/srv0srv.c    2010-12-03 15:07:31.824022673 +0900
304 @@ -83,6 +83,7 @@
305  #include "ha_prototypes.h"
306  #include "trx0i_s.h"
307  #include "os0sync.h" /* for HAVE_ATOMIC_BUILTINS */
308 +#include "read0read.h"
309  #include "mysql/plugin.h"
310  #include "mysql/service_thd_wait.h"
311  
312 @@ -188,6 +189,9 @@
313  the checkpoints. */
314  UNIV_INTERN char       srv_adaptive_flushing   = TRUE;
315  
316 +UNIV_INTERN ulint      srv_show_locks_held     = 10;
317 +UNIV_INTERN ulint      srv_show_verbose_locks  = 0;
318 +
319  /** Maximum number of times allowed to conditionally acquire
320  mutex before switching to blocking wait on the mutex */
321  #define MAX_MUTEX_NOWAIT       20
322 @@ -314,6 +318,7 @@
323  /* variable to count the number of pages that were written from buffer
324  pool to the disk */
325  UNIV_INTERN ulint srv_buf_pool_flushed = 0;
326 +UNIV_INTERN ulint buf_lru_flush_page_count = 0;
327  
328  /** Number of buffer pool reads that led to the
329  reading of a disk page */
330 @@ -1823,6 +1828,13 @@
331         ulint   n_reserved;
332         ibool   ret;
333  
334 +       ulint   btr_search_sys_subtotal;
335 +       ulint   lock_sys_subtotal;
336 +       ulint   recv_sys_subtotal;
337 +
338 +       ulint   i;
339 +       trx_t*  trx;
340 +
341         mutex_enter(&srv_innodb_monitor_mutex);
342  
343         current_time = time(NULL);
344 @@ -1871,31 +1883,6 @@
345  
346         mutex_exit(&dict_foreign_err_mutex);
347  
348 -       /* Only if lock_print_info_summary proceeds correctly,
349 -       before we call the lock_print_info_all_transactions
350 -       to print all the lock information. */
351 -       ret = lock_print_info_summary(file, nowait);
352 -
353 -       if (ret) {
354 -               if (trx_start) {
355 -                       long    t = ftell(file);
356 -                       if (t < 0) {
357 -                               *trx_start = ULINT_UNDEFINED;
358 -                       } else {
359 -                               *trx_start = (ulint) t;
360 -                       }
361 -               }
362 -               lock_print_info_all_transactions(file);
363 -               if (trx_end) {
364 -                       long    t = ftell(file);
365 -                       if (t < 0) {
366 -                               *trx_end = ULINT_UNDEFINED;
367 -                       } else {
368 -                               *trx_end = (ulint) t;
369 -                       }
370 -               }
371 -       }
372 -
373         fputs("--------\n"
374               "FILE I/O\n"
375               "--------\n", file);
376 @@ -1926,10 +1913,78 @@
377               "BUFFER POOL AND MEMORY\n"
378               "----------------------\n", file);
379         fprintf(file,
380 -               "Total memory allocated " ULINTPF
381 -               "; in additional pool allocated " ULINTPF "\n",
382 -               ut_total_allocated_memory,
383 -               mem_pool_get_reserved(mem_comm_pool));
384 +                       "Total memory allocated " ULINTPF
385 +                       "; in additional pool allocated " ULINTPF "\n",
386 +                       ut_total_allocated_memory,
387 +                       mem_pool_get_reserved(mem_comm_pool));
388 +       /* Calcurate reserved memories */
389 +       if (btr_search_sys && btr_search_sys->hash_index->heap) {
390 +               btr_search_sys_subtotal = mem_heap_get_size(btr_search_sys->hash_index->heap);
391 +       } else {
392 +               btr_search_sys_subtotal = 0;
393 +               for (i=0; i < btr_search_sys->hash_index->n_mutexes; i++) {
394 +                       btr_search_sys_subtotal += mem_heap_get_size(btr_search_sys->hash_index->heaps[i]);
395 +               }
396 +       }
397 +
398 +       lock_sys_subtotal = 0;
399 +       if (trx_sys) {
400 +               mutex_enter(&kernel_mutex);
401 +               trx = UT_LIST_GET_FIRST(trx_sys->mysql_trx_list);
402 +               while (trx) {
403 +                       lock_sys_subtotal += ((trx->lock_heap) ? mem_heap_get_size(trx->lock_heap) : 0);
404 +                       trx = UT_LIST_GET_NEXT(mysql_trx_list, trx);
405 +               }
406 +               mutex_exit(&kernel_mutex);
407 +       }
408 +
409 +       recv_sys_subtotal = ((recv_sys && recv_sys->addr_hash)
410 +                       ? mem_heap_get_size(recv_sys->heap) : 0);
411 +
412 +       fprintf(file,
413 +                       "Internal hash tables (constant factor + variable factor)\n"
414 +                       "    Adaptive hash index %lu \t(%lu + %lu)\n"
415 +                       "    Page hash           %lu (buffer pool 0 only)\n"
416 +                       "    Dictionary cache    %lu \t(%lu + %lu)\n"
417 +                       "    File system         %lu \t(%lu + %lu)\n"
418 +                       "    Lock system         %lu \t(%lu + %lu)\n"
419 +                       "    Recovery system     %lu \t(%lu + %lu)\n",
420 +
421 +                       (ulong) (btr_search_sys
422 +                               ? (btr_search_sys->hash_index->n_cells * sizeof(hash_cell_t)) : 0)
423 +                       + btr_search_sys_subtotal,
424 +                       (ulong) (btr_search_sys
425 +                               ? (btr_search_sys->hash_index->n_cells * sizeof(hash_cell_t)) : 0),
426 +                       (ulong) btr_search_sys_subtotal,
427 +
428 +                       (ulong) (buf_pool_from_array(0)->page_hash->n_cells * sizeof(hash_cell_t)),
429 +
430 +                       (ulong) (dict_sys ? ((dict_sys->table_hash->n_cells
431 +                                               + dict_sys->table_id_hash->n_cells
432 +                                               ) * sizeof(hash_cell_t)
433 +                                       + dict_sys->size) : 0),
434 +                       (ulong) (dict_sys ? ((dict_sys->table_hash->n_cells
435 +                                                       + dict_sys->table_id_hash->n_cells
436 +                                                       ) * sizeof(hash_cell_t)) : 0),
437 +                       (ulong) (dict_sys ? (dict_sys->size) : 0),
438 +
439 +                       (ulong) (fil_system_hash_cells() * sizeof(hash_cell_t)
440 +                                       + fil_system_hash_nodes()),
441 +                       (ulong) (fil_system_hash_cells() * sizeof(hash_cell_t)),
442 +                       (ulong) fil_system_hash_nodes(),
443 +
444 +                       (ulong) ((lock_sys ? (lock_sys->rec_hash->n_cells * sizeof(hash_cell_t)) : 0)
445 +                                       + lock_sys_subtotal),
446 +                       (ulong) (lock_sys ? (lock_sys->rec_hash->n_cells * sizeof(hash_cell_t)) : 0),
447 +                       (ulong) lock_sys_subtotal,
448 +
449 +                       (ulong) (((recv_sys && recv_sys->addr_hash)
450 +                                               ? (recv_sys->addr_hash->n_cells * sizeof(hash_cell_t)) : 0)
451 +                                       + recv_sys_subtotal),
452 +                       (ulong) ((recv_sys && recv_sys->addr_hash)
453 +                                       ? (recv_sys->addr_hash->n_cells * sizeof(hash_cell_t)) : 0),
454 +                       (ulong) recv_sys_subtotal);
455 +
456         fprintf(file, "Dictionary memory allocated " ULINTPF "\n",
457                 dict_sys->size);
458  
459 @@ -1945,6 +2000,16 @@
460         fprintf(file, "%lu read views open inside InnoDB\n",
461                 UT_LIST_GET_LEN(trx_sys->view_list));
462  
463 +       if (UT_LIST_GET_LEN(trx_sys->view_list)) {
464 +               read_view_t*    view = UT_LIST_GET_LAST(trx_sys->view_list);
465 +
466 +               if (view) {
467 +                       fprintf(file, "---OLDEST VIEW---\n");
468 +                       read_view_print(file, view);
469 +                       fprintf(file, "-----------------\n");
470 +               }
471 +       }
472 +
473         n_reserved = fil_space_get_n_reserved_extents(0);
474         if (n_reserved > 0) {
475                 fprintf(file,
476 @@ -1988,6 +2053,31 @@
477         srv_n_rows_deleted_old = srv_n_rows_deleted;
478         srv_n_rows_read_old = srv_n_rows_read;
479  
480 +       /* Only if lock_print_info_summary proceeds correctly,
481 +       before we call the lock_print_info_all_transactions
482 +       to print all the lock information. */
483 +       ret = lock_print_info_summary(file, nowait);
484 +
485 +       if (ret) {
486 +               if (trx_start) {
487 +                       long    t = ftell(file);
488 +                       if (t < 0) {
489 +                               *trx_start = ULINT_UNDEFINED;
490 +                       } else {
491 +                               *trx_start = (ulint) t;
492 +                       }
493 +               }
494 +               lock_print_info_all_transactions(file);
495 +               if (trx_end) {
496 +                       long    t = ftell(file);
497 +                       if (t < 0) {
498 +                               *trx_end = ULINT_UNDEFINED;
499 +                       } else {
500 +                               *trx_end = (ulint) t;
501 +                       }
502 +               }
503 +       }
504 +
505         fputs("----------------------------\n"
506               "END OF INNODB MONITOR OUTPUT\n"
507               "============================\n", file);
508 @@ -2031,6 +2121,7 @@
509                 = srv_buf_pool_write_requests;
510         export_vars.innodb_buffer_pool_wait_free = srv_buf_pool_wait_free;
511         export_vars.innodb_buffer_pool_pages_flushed = srv_buf_pool_flushed;
512 +       export_vars.innodb_buffer_pool_pages_LRU_flushed = buf_lru_flush_page_count;
513         export_vars.innodb_buffer_pool_reads = srv_buf_pool_reads;
514         export_vars.innodb_buffer_pool_read_ahead
515                 = stat.n_ra_pages_read;
516 diff -ruN a/storage/innobase/sync/sync0arr.c b/storage/innobase/sync/sync0arr.c
517 --- a/storage/innobase/sync/sync0arr.c  2010-11-03 07:01:13.000000000 +0900
518 +++ b/storage/innobase/sync/sync0arr.c  2010-12-03 15:07:31.826041368 +0900
519 @@ -478,7 +478,7 @@
520  
521         fprintf(file,
522                 "--Thread %lu has waited at %s line %lu"
523 -               " for %.2f seconds the semaphore:\n",
524 +               " for %#.5g seconds the semaphore:\n",
525                 (ulong) os_thread_pf(cell->thread),
526                 innobase_basename(cell->file), (ulong) cell->line,
527                 difftime(time(NULL), cell->reservation_time));
528 diff -ruN a/storage/innobase/trx/trx0purge.c b/storage/innobase/trx/trx0purge.c
529 --- a/storage/innobase/trx/trx0purge.c  2010-12-04 02:58:26.000000000 +0900
530 +++ b/storage/innobase/trx/trx0purge.c  2011-01-21 19:40:42.086683671 +0900
531 @@ -1212,7 +1212,7 @@
532  /*=====================*/
533  {
534         fprintf(stderr, "InnoDB: Purge system view:\n");
535 -       read_view_print(purge_sys->view);
536 +       read_view_print(stderr, purge_sys->view);
537  
538         fprintf(stderr, "InnoDB: Purge trx n:o " TRX_ID_FMT
539                 ", undo n:o " TRX_ID_FMT "\n",
This page took 0.080271 seconds and 3 git commands to generate.