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

tuji tuji at atworks.co.jp
Tue Oct 14 06:13:09 CEST 2014


> 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,
Masahiro Tsuji.





More information about the sheepdog mailing list