在eXtremeDB的IM版本中,使用Log的pipe buffer进行Log Iteration 操作时,数据库的dev设备配置如下:
#define DATABASE_MAP_ADDRESS (void*)0x200000000 //8GB
//#define DATABASE_MAP_ADDRESS (void*)0x20000000
#define DB_MEMORY_SIZE 2LL*1024*1024*1024 //2GB
#define BUFF_MEMORY_SIZE 128*1024*1024 //128MB
dev[0].assignment = MCO_MEMORY_ASSIGN_DATABASE;
dev[0].size = DB_MEMORY_SIZE;
dev[0].type = MCO_MEMORY_NAMED;
sprintf(dev[0].dev.named.name, "%s-db", "test");
dev[0].dev.named.flags = 0;
dev[0].dev.named.hint = DATABASE_MAP_ADDRESS;
n_dev = 1;
dev[1].assignment = MCO_MEMORY_ASSIGN_PIPE_BUF;
dev[1].size = BUFF_MEMORY_SIZE;
dev[1].type = MCO_MEMORY_NAMED;
sprintf(dev[1].dev.named.name, "%s-pipe", "test");
dev[1].dev.named.flags = 0;
dev[1].dev.named.hint = (char*)(DATABASE_MAP_ADDRESS) + DB_MEMORY_SIZE; // + 4096;
n_dev += 1;