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:
parent
381d4c168f
commit
726e00794b
47
ceph/TODO
47
ceph/TODO
@ -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?
|
||||
|
||||
|
||||
|
@ -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]);
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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));
|
||||
|
Loading…
Reference in New Issue
Block a user