📄 6.t
字号:
/* 6.t- huge reads (pinned pages) (6.t)- huge writes (6.t)*/#include "aio_setup.h"#include <sys/mman.h>long getmemsize(void){ FILE *f = fopen("/proc/meminfo", "r"); long size; int gotit = 0; char str[256]; assert(f != NULL); while (NULL != fgets(str, 255, f)) { str[255] = 0; if (0 == memcmp(str, "MemTotal:", 9)) { if (1 == sscanf(str + 9, "%ld", &size)) { gotit = 1; break; } } } fclose(f); assert(gotit != 0); return size;}int test_main(void){ char *buf; int rwfd; int status = 0, res; long size; size = getmemsize(); printf("size = %ld\n", size); assert(size >= (16 * 1024)); if (size > (768 * 1024)) size = 768 * 1024; size *= 1024; rwfd = open("testdir/rwfile", O_RDWR); assert(rwfd != -1); res = ftruncate(rwfd, 0); assert(res == 0); buf = malloc(size); assert(buf != NULL); //memset(buf, 0, size); status |= attempt_rw(rwfd, buf, size, 0, WRITE, size); status |= attempt_rw(rwfd, buf, size, 0, READ, size); //res = ftruncate(rwfd, 0); assert(res == 0); return status;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -