diff options
author | Guilhem Bichot <guilhem@mysql.com> | 2009-08-04 13:25:19 +0200 |
---|---|---|
committer | Guilhem Bichot <guilhem@mysql.com> | 2009-08-04 13:25:19 +0200 |
commit | b57e4dbd88671df86e2cf39aff5178976d710b64 (patch) | |
tree | 32be2bfec3ca062c65566c60ecf59b673d1f97e9 /storage/innobase/include/buf0flu.h | |
parent | 1a0c2153a036296785dcdfa7b5f4974515616e11 (diff) | |
parent | 94efc1c6b084ed531b513e70fb66e7b7a1186b56 (diff) | |
download | mariadb-git-b57e4dbd88671df86e2cf39aff5178976d710b64.tar.gz |
Creation of mysql-trunk = {summit + "Innodb plugin replacing the builtin"}:
bzr branch mysql-5.1-performance-version mysql-trunk # Summit
cd mysql-trunk
bzr merge mysql-5.1-innodb_plugin # which is 5.1 + Innodb plugin
bzr rm innobase # remove the builtin
Next step: build, test fixes.
Diffstat (limited to 'storage/innobase/include/buf0flu.h')
-rw-r--r-- | storage/innobase/include/buf0flu.h | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/storage/innobase/include/buf0flu.h b/storage/innobase/include/buf0flu.h deleted file mode 100644 index 322848509f4..00000000000 --- a/storage/innobase/include/buf0flu.h +++ /dev/null @@ -1,120 +0,0 @@ -/****************************************************** -The database buffer pool flush algorithm - -(c) 1995 Innobase Oy - -Created 11/5/1995 Heikki Tuuri -*******************************************************/ - -#ifndef buf0flu_h -#define buf0flu_h - -#include "univ.i" -#include "buf0types.h" -#include "ut0byte.h" -#include "mtr0types.h" - -/************************************************************************ -Updates the flush system data structures when a write is completed. */ - -void -buf_flush_write_complete( -/*=====================*/ - buf_block_t* block); /* in: pointer to the block in question */ -/************************************************************************* -Flushes pages from the end of the LRU list if there is too small -a margin of replaceable pages there. */ - -void -buf_flush_free_margin(void); -/*=======================*/ -/************************************************************************ -Initializes a page for writing to the tablespace. */ - -void -buf_flush_init_for_writing( -/*=======================*/ - byte* page, /* in: page */ - dulint newest_lsn, /* in: newest modification lsn to the page */ - ulint space, /* in: space id */ - ulint page_no); /* in: page number */ -/*********************************************************************** -This utility flushes dirty blocks from the end of the LRU list or flush_list. -NOTE 1: in the case of an LRU flush the calling thread may own latches to -pages: to avoid deadlocks, this function must be written so that it cannot -end up waiting for these latches! NOTE 2: in the case of a flush list flush, -the calling thread is not allowed to own any latches on pages! */ - -ulint -buf_flush_batch( -/*============*/ - /* out: number of blocks for which the write - request was queued */ - ulint flush_type, /* in: BUF_FLUSH_LRU or BUF_FLUSH_LIST; if - BUF_FLUSH_LIST, then the caller must not own - any latches on pages */ - ulint min_n, /* in: wished minimum mumber of blocks flushed - (it is not guaranteed that the actual number - is that big, though) */ - dulint lsn_limit); /* in the case BUF_FLUSH_LIST all blocks whose - oldest_modification is smaller than this - should be flushed (if their number does not - exceed min_n), otherwise ignored */ -/********************************************************************** -Waits until a flush batch of the given type ends */ - -void -buf_flush_wait_batch_end( -/*=====================*/ - ulint type); /* in: BUF_FLUSH_LRU or BUF_FLUSH_LIST */ -/************************************************************************ -This function should be called at a mini-transaction commit, if a page was -modified in it. Puts the block to the list of modified blocks, if it not -already in it. */ -UNIV_INLINE -void -buf_flush_note_modification( -/*========================*/ - buf_block_t* block, /* in: block which is modified */ - mtr_t* mtr); /* in: mtr */ -/************************************************************************ -This function should be called when recovery has modified a buffer page. */ -UNIV_INLINE -void -buf_flush_recv_note_modification( -/*=============================*/ - buf_block_t* block, /* in: block which is modified */ - dulint start_lsn, /* in: start lsn of the first mtr in a - set of mtr's */ - dulint end_lsn); /* in: end lsn of the last mtr in the - set of mtr's */ -/************************************************************************ -Returns TRUE if the file page block is immediately suitable for replacement, -i.e., transition FILE_PAGE => NOT_USED allowed. */ -ibool -buf_flush_ready_for_replace( -/*========================*/ - /* out: TRUE if can replace immediately */ - buf_block_t* block); /* in: buffer control block, must be in state - BUF_BLOCK_FILE_PAGE and in the LRU list */ -/********************************************************************** -Validates the flush list. */ - -ibool -buf_flush_validate(void); -/*====================*/ - /* out: TRUE if ok */ - -/* When buf_flush_free_margin is called, it tries to make this many blocks -available to replacement in the free list and at the end of the LRU list (to -make sure that a read-ahead batch can be read efficiently in a single -sweep). */ - -#define BUF_FLUSH_FREE_BLOCK_MARGIN (5 + BUF_READ_AHEAD_AREA) -#define BUF_FLUSH_EXTRA_MARGIN (BUF_FLUSH_FREE_BLOCK_MARGIN / 4 + 100) - -#ifndef UNIV_NONINL -#include "buf0flu.ic" -#endif - -#endif |