Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
f4ae92b2
Commit
f4ae92b2
authored
May 03, 2009
by
Vadim Tkachenko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sync rev 59
parent
42f4cb6c
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
76 additions
and
14 deletions
+76
-14
buf/buf0buddy.c
buf/buf0buddy.c
+1
-1
buf/buf0buf.c
buf/buf0buf.c
+5
-5
buf/buf0flu.c
buf/buf0flu.c
+16
-2
buf/buf0lru.c
buf/buf0lru.c
+4
-4
include/buf0buf.h
include/buf0buf.h
+2
-2
mysql-test/patches/information_schema.diff
mysql-test/patches/information_schema.diff
+48
-0
No files found.
buf/buf0buddy.c
View file @
f4ae92b2
...
@@ -138,7 +138,7 @@ buf_buddy_alloc_zip(
...
@@ -138,7 +138,7 @@ buf_buddy_alloc_zip(
/* Valgrind would complain about accessing free memory. */
/* Valgrind would complain about accessing free memory. */
UT_LIST_VALIDATE
(
list
,
buf_page_t
,
buf_pool
->
zip_free
[
i
]);
UT_LIST_VALIDATE
(
list
,
buf_page_t
,
buf_pool
->
zip_free
[
i
]);
#endif
/* UNIV_DEBUG && !UNIV_DEBUG_VALGRIND */
#endif
/* UNIV_DEBUG && !UNIV_DEBUG_VALGRIND */
bpage
=
UT_LIST_GET_
FIR
ST
(
buf_pool
->
zip_free
[
i
]);
bpage
=
UT_LIST_GET_
LA
ST
(
buf_pool
->
zip_free
[
i
]);
if
(
bpage
)
{
if
(
bpage
)
{
UNIV_MEM_VALID
(
bpage
,
BUF_BUDDY_LOW
<<
i
);
UNIV_MEM_VALID
(
bpage
,
BUF_BUDDY_LOW
<<
i
);
...
...
buf/buf0buf.c
View file @
f4ae92b2
...
@@ -664,9 +664,9 @@ buf_block_init(
...
@@ -664,9 +664,9 @@ buf_block_init(
block
->
page
.
in_zip_hash
=
FALSE
;
block
->
page
.
in_zip_hash
=
FALSE
;
block
->
page
.
in_flush_list
=
FALSE
;
block
->
page
.
in_flush_list
=
FALSE
;
block
->
page
.
in_free_list
=
FALSE
;
block
->
page
.
in_free_list
=
FALSE
;
block
->
page
.
in_LRU_list
=
FALSE
;
block
->
in_unzip_LRU_list
=
FALSE
;
block
->
in_unzip_LRU_list
=
FALSE
;
#endif
/* UNIV_DEBUG */
#endif
/* UNIV_DEBUG */
block
->
page
.
in_LRU_list
=
FALSE
;
#if defined UNIV_AHI_DEBUG || defined UNIV_DEBUG
#if defined UNIV_AHI_DEBUG || defined UNIV_DEBUG
block
->
n_pointers
=
0
;
block
->
n_pointers
=
0
;
#endif
/* UNIV_AHI_DEBUG || UNIV_DEBUG */
#endif
/* UNIV_AHI_DEBUG || UNIV_DEBUG */
...
@@ -1130,7 +1130,7 @@ buf_relocate(
...
@@ -1130,7 +1130,7 @@ buf_relocate(
memcpy
(
dpage
,
bpage
,
sizeof
*
dpage
);
memcpy
(
dpage
,
bpage
,
sizeof
*
dpage
);
ut_d
(
bpage
->
in_LRU_list
=
FALSE
)
;
bpage
->
in_LRU_list
=
FALSE
;
ut_d
(
bpage
->
in_page_hash
=
FALSE
);
ut_d
(
bpage
->
in_page_hash
=
FALSE
);
/* relocate buf_pool->LRU */
/* relocate buf_pool->LRU */
...
@@ -2870,8 +2870,8 @@ err_exit:
...
@@ -2870,8 +2870,8 @@ err_exit:
bpage
->
in_zip_hash
=
FALSE
;
bpage
->
in_zip_hash
=
FALSE
;
bpage
->
in_flush_list
=
FALSE
;
bpage
->
in_flush_list
=
FALSE
;
bpage
->
in_free_list
=
FALSE
;
bpage
->
in_free_list
=
FALSE
;
bpage
->
in_LRU_list
=
FALSE
;
#endif
/* UNIV_DEBUG */
#endif
/* UNIV_DEBUG */
bpage
->
in_LRU_list
=
FALSE
;
ut_d
(
bpage
->
in_page_hash
=
TRUE
);
ut_d
(
bpage
->
in_page_hash
=
TRUE
);
HASH_INSERT
(
buf_page_t
,
hash
,
buf_pool
->
page_hash
,
HASH_INSERT
(
buf_page_t
,
hash
,
buf_pool
->
page_hash
,
...
@@ -3729,7 +3729,7 @@ buf_get_modified_ratio_pct(void)
...
@@ -3729,7 +3729,7 @@ buf_get_modified_ratio_pct(void)
{
{
ulint
ratio
;
ulint
ratio
;
buf_pool_mutex_enter
();
//buf_pool_mutex_enter(); /* optimistic */
ratio
=
(
100
*
UT_LIST_GET_LEN
(
buf_pool
->
flush_list
))
ratio
=
(
100
*
UT_LIST_GET_LEN
(
buf_pool
->
flush_list
))
/
(
1
+
UT_LIST_GET_LEN
(
buf_pool
->
LRU
)
/
(
1
+
UT_LIST_GET_LEN
(
buf_pool
->
LRU
)
...
@@ -3737,7 +3737,7 @@ buf_get_modified_ratio_pct(void)
...
@@ -3737,7 +3737,7 @@ buf_get_modified_ratio_pct(void)
/* 1 + is there to avoid division by zero */
/* 1 + is there to avoid division by zero */
buf_pool_mutex_exit
();
//buf_pool_mutex_exit(); /* optimistic */
return
(
ratio
);
return
(
ratio
);
}
}
...
...
buf/buf0flu.c
View file @
f4ae92b2
...
@@ -134,10 +134,10 @@ buf_flush_ready_for_replace(
...
@@ -134,10 +134,10 @@ buf_flush_ready_for_replace(
buf_page_in_file(bpage) and in the LRU list */
buf_page_in_file(bpage) and in the LRU list */
{
{
//ut_ad(buf_pool_mutex_own())
;
//ut_ad(buf_pool_mutex_own())
;
ut_ad
(
mutex_own
(
buf_page_get_mutex
(
bpage
)));
//
ut_ad(mutex_own(buf_page_get_mutex(bpage)));
//ut_ad(bpage->in_LRU_list); /* optimistic use */
//ut_ad(bpage->in_LRU_list); /* optimistic use */
if
(
UNIV_LIKELY
(
buf_page_in_file
(
bpage
)))
{
if
(
UNIV_LIKELY
(
b
page
->
in_LRU_list
&&
b
uf_page_in_file
(
bpage
)))
{
return
(
bpage
->
oldest_modification
==
0
return
(
bpage
->
oldest_modification
==
0
&&
buf_page_get_io_fix
(
bpage
)
==
BUF_IO_NONE
&&
buf_page_get_io_fix
(
bpage
)
==
BUF_IO_NONE
...
@@ -1147,8 +1147,14 @@ buf_flush_LRU_recommendation(void)
...
@@ -1147,8 +1147,14 @@ buf_flush_LRU_recommendation(void)
buf_page_t
*
bpage
;
buf_page_t
*
bpage
;
ulint
n_replaceable
;
ulint
n_replaceable
;
ulint
distance
=
0
;
ulint
distance
=
0
;
ibool
have_LRU_mutex
=
FALSE
;
if
(
UT_LIST_GET_LEN
(
buf_pool
->
unzip_LRU
))
have_LRU_mutex
=
TRUE
;
//buf_pool_mutex_enter();
//buf_pool_mutex_enter();
if
(
have_LRU_mutex
)
buf_pool_mutex_enter
();
n_replaceable
=
UT_LIST_GET_LEN
(
buf_pool
->
free
);
n_replaceable
=
UT_LIST_GET_LEN
(
buf_pool
->
free
);
...
@@ -1159,6 +1165,12 @@ buf_flush_LRU_recommendation(void)
...
@@ -1159,6 +1165,12 @@ buf_flush_LRU_recommendation(void)
+
BUF_FLUSH_EXTRA_MARGIN
)
+
BUF_FLUSH_EXTRA_MARGIN
)
&&
(
distance
<
BUF_LRU_FREE_SEARCH_LEN
))
{
&&
(
distance
<
BUF_LRU_FREE_SEARCH_LEN
))
{
if
(
!
bpage
->
in_LRU_list
)
{
/* reatart. but it is very optimistic */
bpage
=
UT_LIST_GET_LAST
(
buf_pool
->
LRU
);
continue
;
}
mutex_t
*
block_mutex
=
buf_page_get_mutex
(
bpage
);
mutex_t
*
block_mutex
=
buf_page_get_mutex
(
bpage
);
mutex_enter
(
block_mutex
);
mutex_enter
(
block_mutex
);
...
@@ -1175,6 +1187,8 @@ buf_flush_LRU_recommendation(void)
...
@@ -1175,6 +1187,8 @@ buf_flush_LRU_recommendation(void)
}
}
//buf_pool_mutex_exit();
//buf_pool_mutex_exit();
if
(
have_LRU_mutex
)
buf_pool_mutex_exit
();
if
(
n_replaceable
>=
BUF_FLUSH_FREE_BLOCK_MARGIN
)
{
if
(
n_replaceable
>=
BUF_FLUSH_FREE_BLOCK_MARGIN
)
{
...
...
buf/buf0lru.c
View file @
f4ae92b2
...
@@ -1090,7 +1090,7 @@ buf_LRU_remove_block(
...
@@ -1090,7 +1090,7 @@ buf_LRU_remove_block(
/* Remove the block from the LRU list */
/* Remove the block from the LRU list */
UT_LIST_REMOVE
(
LRU
,
buf_pool
->
LRU
,
bpage
);
UT_LIST_REMOVE
(
LRU
,
buf_pool
->
LRU
,
bpage
);
ut_d
(
bpage
->
in_LRU_list
=
FALSE
)
;
bpage
->
in_LRU_list
=
FALSE
;
buf_unzip_LRU_remove_block_if_needed
(
bpage
);
buf_unzip_LRU_remove_block_if_needed
(
bpage
);
...
@@ -1166,7 +1166,7 @@ buf_LRU_add_block_to_end_low(
...
@@ -1166,7 +1166,7 @@ buf_LRU_add_block_to_end_low(
ut_ad
(
!
bpage
->
in_LRU_list
);
ut_ad
(
!
bpage
->
in_LRU_list
);
UT_LIST_ADD_LAST
(
LRU
,
buf_pool
->
LRU
,
bpage
);
UT_LIST_ADD_LAST
(
LRU
,
buf_pool
->
LRU
,
bpage
);
ut_d
(
bpage
->
in_LRU_list
=
TRUE
)
;
bpage
->
in_LRU_list
=
TRUE
;
buf_page_set_old
(
bpage
,
TRUE
);
buf_page_set_old
(
bpage
,
TRUE
);
...
@@ -1243,7 +1243,7 @@ buf_LRU_add_block_low(
...
@@ -1243,7 +1243,7 @@ buf_LRU_add_block_low(
bpage
->
LRU_position
=
(
buf_pool
->
LRU_old
)
->
LRU_position
;
bpage
->
LRU_position
=
(
buf_pool
->
LRU_old
)
->
LRU_position
;
}
}
ut_d
(
bpage
->
in_LRU_list
=
TRUE
)
;
bpage
->
in_LRU_list
=
TRUE
;
buf_page_set_old
(
bpage
,
old
);
buf_page_set_old
(
bpage
,
old
);
...
@@ -1478,7 +1478,7 @@ alloc:
...
@@ -1478,7 +1478,7 @@ alloc:
buf_LRU_old_init
();
buf_LRU_old_init
();
}
}
}
else
{
}
else
{
ut_d
(
b
->
in_LRU_list
=
FALSE
)
;
b
->
in_LRU_list
=
FALSE
;
buf_LRU_add_block_low
(
b
,
buf_page_is_old
(
b
));
buf_LRU_add_block_low
(
b
,
buf_page_is_old
(
b
));
}
}
...
...
include/buf0buf.h
View file @
f4ae92b2
...
@@ -1061,10 +1061,10 @@ struct buf_page_struct{
...
@@ -1061,10 +1061,10 @@ struct buf_page_struct{
UT_LIST_NODE_T
(
buf_page_t
)
LRU
;
UT_LIST_NODE_T
(
buf_page_t
)
LRU
;
/* node of the LRU list */
/* node of the LRU list */
#ifdef UNIV_DEBUG
//
#ifdef UNIV_DEBUG
ibool
in_LRU_list
;
/* TRUE if the page is in the LRU list;
ibool
in_LRU_list
;
/* TRUE if the page is in the LRU list;
used in debugging */
used in debugging */
#endif
/* UNIV_DEBUG */
//
#endif /* UNIV_DEBUG */
unsigned
old
:
1
;
/* TRUE if the block is in the old
unsigned
old
:
1
;
/* TRUE if the block is in the old
blocks in the LRU list */
blocks in the LRU list */
unsigned
LRU_position
:
31
;
/* value which monotonically decreases
unsigned
LRU_position
:
31
;
/* value which monotonically decreases
...
...
mysql-test/patches/information_schema.diff
View file @
f4ae92b2
...
@@ -74,3 +74,51 @@
...
@@ -74,3 +74,51 @@
KEY_COLUMN_USAGE information_schema.KEY_COLUMN_USAGE 1
KEY_COLUMN_USAGE information_schema.KEY_COLUMN_USAGE 1
PARTITIONS information_schema.PARTITIONS 1
PARTITIONS information_schema.PARTITIONS 1
PLUGINS information_schema.PLUGINS 1
PLUGINS information_schema.PLUGINS 1
diff mysql-test/r/information_schema_db.result.orig mysql-test/r/information_schema_db.result
--- mysql-test/r/information_schema_db.result.orig 2008-08-04 09:27:49.000000000 +0300
+++ mysql-test/r/information_schema_db.result 2008-10-07 12:26:31.000000000 +0300
@@ -33,6 +33,13 @@
TRIGGERS
USER_PRIVILEGES
VIEWS
+INNODB_CMP_RESET
+INNODB_TRX
+INNODB_CMPMEM_RESET
+INNODB_LOCK_WAITS
+INNODB_CMPMEM
+INNODB_CMP
+INNODB_LOCKS
show tables from INFORMATION_SCHEMA like 'T%';
Tables_in_information_schema (T%)
TABLES
diff mysql-test/r/mysqlshow.result.orig mysql-test/r/mysqlshow.result
--- mysql-test/r/mysqlshow.result.orig 2008-08-04 09:27:51.000000000 +0300
+++ mysql-test/r/mysqlshow.result 2008-10-07 12:35:39.000000000 +0300
@@ -107,6 +107,13 @@
| TRIGGERS |
| USER_PRIVILEGES |
| VIEWS |
+| INNODB_CMP_RESET |
+| INNODB_TRX |
+| INNODB_CMPMEM_RESET |
+| INNODB_LOCK_WAITS |
+| INNODB_CMPMEM |
+| INNODB_CMP |
+| INNODB_LOCKS |
+---------------------------------------+
Database: INFORMATION_SCHEMA
+---------------------------------------+
@@ -140,6 +147,13 @@
| TRIGGERS |
| USER_PRIVILEGES |
| VIEWS |
+| INNODB_CMP_RESET |
+| INNODB_TRX |
+| INNODB_CMPMEM_RESET |
+| INNODB_LOCK_WAITS |
+| INNODB_CMPMEM |
+| INNODB_CMP |
+| INNODB_LOCKS |
+---------------------------------------+
Wildcard: inf_rmation_schema
+--------------------+
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment