*** /home/tomas/tmp/sysbench-0.4.12/sysbench/tests/memory/sb_memory.c 2009-03-15 13:42:04.000000000 +0100 --- sysbench/tests/memory/sb_memory.c 2012-08-26 14:16:29.301466872 +0200 *************** *** 244,249 **** --- 244,250 ---- int memory_execute_request(sb_request_t *sb_req, int thread_id) { sb_mem_request_t *mem_req = &sb_req->u.mem_request; + volatile int vtmp = 0; int tmp = 0; int idx; int *buf, *end; *************** *** 273,279 **** { idx = (int)((double)rand / (double)SB_MAX_RND * (double)(memory_block_size / sizeof(int))); ! buf[idx] = tmp; } break; case SB_MEM_OP_READ: --- 274,280 ---- { idx = (int)((double)rand / (double)SB_MAX_RND * (double)(memory_block_size / sizeof(int))); ! buf[idx] = vtmp; } break; case SB_MEM_OP_READ: *************** *** 281,287 **** { idx = (int)((double)rand / (double)SB_MAX_RND * (double)(memory_block_size / sizeof(int))); ! tmp = buf[idx]; } break; default: --- 282,288 ---- { idx = (int)((double)rand / (double)SB_MAX_RND * (double)(memory_block_size / sizeof(int))); ! vtmp = buf[idx]; } break; default: *************** *** 296,301 **** --- 297,303 ---- case SB_MEM_OP_NONE: for (; buf < end; buf++) tmp = end - buf; + vtmp = tmp; break; case SB_MEM_OP_WRITE: for (; buf < end; buf++) *************** *** 304,309 **** --- 306,312 ---- case SB_MEM_OP_READ: for (; buf < end; buf++) tmp = *buf; + vtmp = tmp; break; default: log_text(LOG_FATAL, "Unknown memory request type:%d. Aborting...\n",