[sheepdog] [sheepdog/sheepdog] df031a: initial accelio support

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Thu Nov 5 13:48:05 CET 2015

  Branch: refs/heads/accelio-v1.4
  Home:   https://github.com/sheepdog/sheepdog
  Commit: df031a7180801a8705e739e597d9ac69f21aea24
  Author: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
  Date:   2015-11-05 (Thu, 05 Nov 2015)

  Changed paths:
    M configure.ac
    M include/internal_proto.h
    M include/net.h
    A include/xio.h
    M lib/Makefile.am
    M lib/sockfd_cache.c
    A lib/xio.c
    M sheep/Makefile.am
    M sheep/gateway.c
    M sheep/request.c
    M sheep/sheep.c
    M sheep/sheep_priv.h
    A sheep/xio.c
    M shepherd/Makefile.am

  Log Message:
  initial accelio support

This patch adds a support of accelio, an library of RPC which wraps
TCP and RDMA in clean way, to sheepdog. With this change, sheepdog
will be able to utilize high speed interconnect like infiniband.

The code is very early stage and have bunch of ToDos. However, I'd
like to share it and want the community to help the implementation.

How to build:
 1. install accelio
 2. ./configure --enable-accelio
 3. make

How to use:
 $ sheep -i transport=rdma,host=xxx,port=yyy ...

Minor ToDos:
 - clean up code (e.g. comment out)
 - remove known segfault bugs
 - sane error handling
 - remove memory leaks
 - vdi creation with preallocation fails

Major ToDos:
 - enhance code for utilizing RDMA
 - rx/tx in worker threads (I'm not sure it is effective because RDMA
   helps to reduce CPU consumption)

Signed-off-by: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>

More information about the sheepdog mailing list