summaryrefslogtreecommitdiff
path: root/innobase/btr/ts/tss.c
diff options
context:
space:
mode:
Diffstat (limited to 'innobase/btr/ts/tss.c')
-rw-r--r--innobase/btr/ts/tss.c397
1 files changed, 0 insertions, 397 deletions
diff --git a/innobase/btr/ts/tss.c b/innobase/btr/ts/tss.c
deleted file mode 100644
index 4af3fda4415..00000000000
--- a/innobase/btr/ts/tss.c
+++ /dev/null
@@ -1,397 +0,0 @@
-/************************************************************************
-Test for the server
-
-(c) 1996-1997 Innobase Oy
-
-Created 2/16/1996 Heikki Tuuri
-*************************************************************************/
-
-#include "os0proc.h"
-#include "sync0sync.h"
-#include "ut0mem.h"
-#include "mem0mem.h"
-#include "mem0pool.h"
-#include "data0data.h"
-#include "data0type.h"
-#include "dict0dict.h"
-#include "buf0buf.h"
-#include "buf0flu.h"
-#include "os0file.h"
-#include "os0thread.h"
-#include "fil0fil.h"
-#include "fsp0fsp.h"
-#include "rem0rec.h"
-#include "rem0cmp.h"
-#include "mtr0mtr.h"
-#include "log0log.h"
-#include "log0recv.h"
-#include "page0page.h"
-#include "page0cur.h"
-#include "trx0trx.h"
-#include "dict0boot.h"
-#include "trx0sys.h"
-#include "dict0crea.h"
-#include "btr0btr.h"
-#include "btr0pcur.h"
-#include "btr0cur.h"
-#include "btr0sea.h"
-#include "rem0rec.h"
-#include "srv0srv.h"
-#include "que0que.h"
-#include "com0com.h"
-#include "usr0sess.h"
-#include "lock0lock.h"
-#include "trx0roll.h"
-#include "trx0purge.h"
-#include "row0ins.h"
-#include "row0sel.h"
-#include "row0upd.h"
-#include "row0row.h"
-#include "lock0lock.h"
-#include "ibuf0ibuf.h"
-#include "pars0pars.h"
-#include "btr0sea.h"
-
-bool measure_cont = FALSE;
-
-os_file_t files[1000];
-
-mutex_t ios_mutex;
-ulint ios;
-ulint n[10];
-
-mutex_t incs_mutex;
-ulint incs;
-
-byte rnd_buf[67000];
-
-
-/************************************************************************
-Io-handler thread function. */
-
-ulint
-handler_thread(
-/*===========*/
- void* arg)
-{
- ulint segment;
- ulint i;
-
- segment = *((ulint*)arg);
-
- printf("Io handler thread %lu starts\n", segment);
-
- for (i = 0;; i++) {
- fil_aio_wait(segment);
-
- mutex_enter(&ios_mutex);
- ios++;
- mutex_exit(&ios_mutex);
- }
-
- return(0);
-}
-
-/*************************************************************************
-Creates or opens the log files. */
-
-void
-create_log_files(void)
-/*==================*/
-{
- bool ret;
- ulint i, k;
- char name[20];
-
- printf("--------------------------------------------------------\n");
- printf("Create or open log files\n");
-
- strcpy(name, "logfile00");
-
- for (k = 0; k < srv_n_log_groups; k++) {
-
- for (i = 0; i < srv_n_log_files; i++) {
-
- name[6] = (char)((ulint)'0' + k);
- name[7] = (char)((ulint)'0' + i);
-
- files[i] = os_file_create(name, OS_FILE_CREATE, OS_FILE_AIO,
- &ret);
- if (ret == FALSE) {
- ut_a(os_file_get_last_error() ==
- OS_FILE_ALREADY_EXISTS);
-
- files[i] = os_file_create(
- name, OS_FILE_OPEN, OS_FILE_AIO, &ret);
- ut_a(ret);
- } else {
- ut_a(os_file_set_size(files[i],
- 8192 * srv_log_file_size, 0));
- }
-
- ret = os_file_close(files[i]);
- ut_a(ret);
-
- if (i == 0) {
- fil_space_create(name, k + 100, FIL_LOG);
- }
-
- ut_a(fil_validate());
-
- fil_node_create(name, srv_log_file_size, k + 100);
- }
-
- fil_space_create(name, k + 200, FIL_LOG);
-
- log_group_init(k, srv_n_log_files,
- srv_log_file_size * UNIV_PAGE_SIZE,
- k + 100, k + 200);
- }
-}
-
-/*************************************************************************
-Creates the files for the file system test and inserts them to the file
-system. */
-
-void
-create_files(void)
-/*==============*/
-{
- bool ret;
- ulint i, k;
- char name[20];
- os_thread_t thr[10];
- os_thread_id_t id[10];
-
- printf("--------------------------------------------------------\n");
- printf("Create or open database files\n");
-
- strcpy(name, "tsfile00");
-
- for (k = 0; k < 2 * srv_n_spaces; k += 2) {
- for (i = 0; i < srv_n_files; i++) {
-
- name[6] = (char)((ulint)'0' + k);
- name[7] = (char)((ulint)'0' + i);
-
- files[i] = os_file_create(name, OS_FILE_CREATE,
- OS_FILE_NORMAL, &ret);
- if (ret == FALSE) {
- ut_a(os_file_get_last_error() ==
- OS_FILE_ALREADY_EXISTS);
-
- files[i] = os_file_create(
- name, OS_FILE_OPEN, OS_FILE_NORMAL, &ret);
- ut_a(ret);
- } else {
- ut_a(os_file_set_size(files[i],
- UNIV_PAGE_SIZE * srv_file_size, 0));
- /* Initialize the file contents to a random value */
- /*
- for (j = 0; j < srv_file_size; j++) {
-
- for (c = 0; c < UNIV_PAGE_SIZE; c++) {
-
- rnd_buf[c] = 0xFF;
- }
-
- os_file_write(files[i], rnd_buf,
- UNIV_PAGE_SIZE * j, 0,
- UNIV_PAGE_SIZE);
- }
- */
- }
-
- ret = os_file_close(files[i]);
- ut_a(ret);
-
- if (i == 0) {
- fil_space_create(name, k, FIL_TABLESPACE);
- }
-
- ut_a(fil_validate());
-
- fil_node_create(name, srv_file_size, k);
- }
- }
-
- ios = 0;
-
- mutex_create(&ios_mutex);
- mutex_set_level(&ios_mutex, SYNC_NO_ORDER_CHECK);
-
- /* Create i/o-handler threads: */
-
- for (i = 0; i < 9; i++) {
- n[i] = i;
-
- thr[i] = os_thread_create(handler_thread, n + i, id + i);
- }
-}
-
-/************************************************************************
-Inits space header of space. */
-
-void
-init_spaces(void)
-/*=============*/
-{
- mtr_t mtr;
-
- mtr_start(&mtr);
-
- fsp_header_init(0, srv_file_size * srv_n_files, &mtr);
-
- mtr_commit(&mtr);
-}
-
-/*********************************************************************
-This thread is used to measure contention of latches. */
-
-ulint
-test_measure_cont(
-/*==============*/
- void* arg)
-{
- ulint i, j, k;
- ulint count[8];
- ulint lcount[8];
- ulint lscount;
- ulint lkcount;
- ulint pcount, kcount, scount;
-
- UT_NOT_USED(arg);
-
- printf("Starting contention measurement\n");
-
- for (i = 0; i < 1000; i++) {
-
- for (k = 0; k < 8; k++) {
- count[k] = 0;
- lcount[k] = 0;
- }
-
- pcount = 0;
- kcount = 0;
- scount = 0;
- lscount = 0;
- lkcount = 0;
-
- for (j = 0; j < 100; j++) {
-
- if (srv_measure_by_spin) {
- ut_delay(ut_rnd_interval(0, 20000));
- } else {
- os_thread_sleep(20000);
- }
-
- if (kernel_mutex.lock_word) {
- kcount++;
- }
-
- if (lock_kernel_reserved) {
- lkcount++;
- }
-
- if (buf_pool->mutex.lock_word) {
- pcount++;
- }
-
- if (btr_search_mutex.lock_word) {
- scount++;
- }
-
- for (k = 0; k < 8; k++) {
-
- if (btr_search_sys->
- hash_index->mutexes[k].lock_word) {
-
- count[k]++;
- }
- }
-
- for (k = 0; k < 2; k++) {
-
- if (lock_sys->rec_hash->mutexes[k].lock_word) {
-
- lcount[k]++;
- }
- }
-
- if (kernel_mutex.lock_word
- || lock_sys->rec_hash->mutexes[0].lock_word
- || lock_sys->rec_hash->mutexes[1].lock_word) {
-
- lscount++;
- }
- }
-
- printf(
-"Mutex res. p %lu, k %lu %lu, %lu %lu %lu s %lu, %lu %lu %lu %lu %lu %lu %lu %lu of %lu\n",
- pcount, kcount, lkcount, lcount[0], lcount[1], lscount, scount,
- count[0], count[1], count[2], count[3],
- count[4], count[5], count[6], count[7], j);
-
- sync_print_wait_info();
-
- printf("N log i/os %lu, n non sea %lu, n sea succ %lu\n",
- log_sys->n_log_ios, btr_cur_n_non_sea,
- btr_search_n_succ);
- }
-
- return(0);
-}
-
-/********************************************************************
-Main test function. */
-
-void
-main(void)
-/*======*/
-{
- os_thread_id_t thread_id;
-
- log_do_write = TRUE;
-/* yydebug = TRUE; */
-
- srv_boot("srv_init");
-
- os_aio_init(576, 9, 100);
-
- fil_init(25);
-
- buf_pool_init(srv_pool_size, srv_pool_size);
-
- fsp_init();
- log_init();
-
- lock_sys_create(srv_lock_table_size);
-
- create_files();
- create_log_files();
-
- init_spaces();
-
- sess_sys_init_at_db_start();
-
- trx_sys_create();
-
- dict_create();
-
- log_make_checkpoint_at(ut_dulint_max);
-
- if (srv_measure_contention) {
- os_thread_create(&test_measure_cont, NULL, &thread_id);
- }
-
- if (!srv_log_archive_on) {
-
- ut_a(DB_SUCCESS == log_archive_noarchivelog());
- }
-
- srv_master_thread();
-
- printf("TESTS COMPLETED SUCCESSFULLY!\n");
-
- os_process_exit(0);
-}