At Thu, 23 May 2013 19:10:38 +0800, Liu Yuan wrote: > > On 05/23/2013 07:03 PM, MORITA Kazutaka wrote: > > I think of improving the current recovery codes in near future so that > > the recovery thread doesn't affect VM I/O as far as it can. > > It looks to me very hard, at least very hard to implement transparently. > Many targets contradict themselves, to name a few: > > 1 'force recovery' after cluster crash will want the full speed > 2 VM don't want recovery take its IO channel but want it to be get done > as soon as possible > 3 People want to check run as fast as possible but don't want it to > interfere with VM. What I came up with were: - Make the current recovery process multi-threaded. Then sheep can do multi-thread I/O against unrecovered objects, too. - Sleep a bit (e.g. 100 ms) before recovering a object while there are outstanding I/Os from VMs. - Use event_loop_prio() and add higher priority for I/Os from VMs. I'm not sure these work well, but I think they are worth a try. Thanks, Kazutaka |