1
0
mirror of https://github.com/ceph/ceph synced 2024-12-17 00:46:05 +00:00

*** empty log message ***

git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@848 29311d96-e01e-0410-9327-a35deaab8ce9
This commit is contained in:
sage 2006-09-07 01:16:24 +00:00
parent 381d4c168f
commit 726e00794b
4 changed files with 44 additions and 13 deletions

View File

@ -3,17 +3,41 @@
todo
- latency
- try adding small client delay between requests
- try without commits?
- aged ebofs fs .. wr_age
- over time
- versus fresh (wrsizes)
why is 4osd tput so low? do i need more clients?
is it the bdev_fake_mb making it unstable?
1- finish ebofs fragmetnation experiment
-> do rd_age for the 200gb partition.
(hopefully, we can show that our allocation strategy helps reads at the expense of writes)
2- age ext2 overnight to do a wishy-washy comparison
3- better map_dist plot.
1- get ebofs frag experiment running.
/2- figure out rep_lat issue?
/ 19 - perfect for 1mb writes
3- ebofs time frag plot
4- map dist storm.
EASY
- ebofs tput vs frag
HARD
- aged fakestore
- vs wrsizes
- ebofs frag versus time plot
@ -132,6 +156,7 @@ reliability
- osdmonitor, filter
ebofs
- reallocate if dirty is cancelable. specifically, so that pg log writes are efficient.
- fix buffercache::rx_finish uninitialized pstart bug
- fix sync()
- fix bug in node rotation on insert (and reenable)
@ -139,20 +164,18 @@ ebofs
- verify LRU behavior sensible: writes go to mid, not top!
- fix NEAR_LAST_FWD (?)
- combine inodes and/or cnodes into same blocks
- delay allocation
- or actually, reallocate if dirty is cancelable
- journaling? in NVRAM?
- clone()
bugs/stability
- fakestore crapping out.. missing timer events?
- figure out weird 40ms latency with double log entries
general
- timer needs cancel sets, schedulers need to cancel outstanding events on shutdown
- well, just figure out general timer cancellation strategy that avoids races
- gzip in messenger?

View File

@ -61,6 +61,8 @@ md_config_t g_conf = {
fake_osdmap_expand: 0,
fake_osdmap_updates: 0,
fake_osd_mttf: 0,
fake_osd_mttr: 0,
osd_remount_at: 0,
@ -359,6 +361,10 @@ void parse_config_options(vector<char*>& args)
g_conf.fake_osdmap_expand = atoi(args[++i]);
else if (strcmp(args[i], "--fake_osdmap_updates") == 0)
g_conf.fake_osdmap_updates = atoi(args[++i]);
else if (strcmp(args[i], "--fake_osd_mttf") == 0)
g_conf.fake_osd_mttf = atoi(args[++i]);
else if (strcmp(args[i], "--fake_osd_mttr") == 0)
g_conf.fake_osd_mttr = atoi(args[++i]);
else if (strcmp(args[i], "--fake_osd_down") == 0) {
int osd = atoi(args[++i]);
float when = atof(args[++i]);

View File

@ -34,6 +34,8 @@ struct md_config_t {
int fake_osdmap_expand;
int fake_osdmap_updates;
int fake_osd_mttf;
int fake_osd_mttr;
int osd_remount_at;

View File

@ -508,7 +508,7 @@ void OSD::heartbeat()
// hack: fake reorg?
if (osdmap && g_conf.fake_osdmap_updates) {
if (rand() % g_conf.fake_osdmap_updates == 0) {
if ((rand() % g_conf.fake_osdmap_updates) == 0) {
//if ((rand() % (g_conf.num_osd / g_conf.fake_osdmap_updates)) == whoami / g_conf.fake_osdmap_updates) {
messenger->send_message(new MOSDIn(osdmap->get_epoch()),
MSG_ADDR_MON(0));