[sheepdog] [PATCH 0/2] avoid heavy disk I/O in the main thread

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Tue Oct 14 10:01:30 CEST 2014


At Tue, 14 Oct 2014 13:13:09 +0900,
tuji wrote:
> 
> 
> > On Thu, Oct 9, 2014 at 12:16 AM, Hitoshi Mitake
> > <mitake.hitoshi at lab.ntt.co.jp> wrote:
> > > Recently, Philip and Tsuji-san reported a problem of critical request
> > > block caused by recovery process. I found a problematic behavior
> > > purge_directory() of libsheepdog which can cause long stop of the main
> > > thread. It would be a root cause of the problem. This patchset solves
> > > it.
> > >
> > > Hitoshi Mitake (2):
> > >   lib: add an interface for registering workqueue for libsheepdog
> > >   lib: call rmdir(2) and unlink(2) in worker threads during purging
> > >     directory
> > >
> > >  include/util.h |  3 +++
> > >  lib/util.c     | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
> > >  sheep/sheep.c  |  2 ++
> > >  3 files changed, 76 insertions(+), 9 deletions(-)
> > 
> > Tsuji-san, could you test this patchset on your test environment? The
> > request blocking time depends on a number of stored object, so testing
> > with large disks is ideal (e.g. preparing a cluster which consists 3
> > node with 2TB disk, let nodes have more than 1TB objects, and adding
> > one node to the cluster).
> > 
> > This would require amount of time, sorry for that...
> 
> Thank you for the patch.
> I am going to teset it.
> And I will check real elapsed time of  purgeing  for our system.
> It will help to know it is bottoleneck or not.

Thanks, could you compare the master branch and master the branch +
this patchset for checking the effectiveness?

Thanks,
Hitoshi



More information about the sheepdog mailing list