[sheepdog] [PATCH 0/2] avoid heavy disk I/O in the main thread
Hitoshi Mitake
mitake.hitoshi at gmail.com
Thu Oct 9 08:21:18 CEST 2014
On Thu, Oct 9, 2014 at 12:20 AM, Hitoshi Mitake
<mitake.hitoshi at gmail.com> 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...
The same changes can be found in this branch:
https://github.com/sheepdog/sheepdog/tree/avoid-blocking
Thanks,
Hitoshi
More information about the sheepdog
mailing list