[sheepdog] [PATCH v1 1/3] sheep: migrate isa-l into sheepdog

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Fri Sep 19 09:42:58 CEST 2014


At Fri, 19 Sep 2014 14:01:13 +0800,
Robin Dong wrote:
> 
> From: Robin Dong <sanbai at taobao.com>
> 
> isa-l is Intel Storage Acceleration Library which could accelerate
> computing of erasure-code on intel CPU. We migrate the whole code
> of isa-l v2.8
> (https://01.org/sites/default/files/downloads/storage-acceleration-library/isa-l_open_src_2.8.tar.gz)
> into sheepdog for following optimization of erasure-code.
> 
> Signed-off-by: Robin Dong <sanbai at taobao.com>
> ---
>  lib/isa-l/About_bsd.txt                            |   26 +
>  lib/isa-l/Makefile                                 |   42 +
>  lib/isa-l/Makefile.nmake                           |   78 +
>  lib/isa-l/Release_notes_opensrc.txt                |   35 +
>  lib/isa-l/erasure_code/Makefile                    |   72 +
>  lib/isa-l/erasure_code/ec_base.c                   |  308 ++
>  lib/isa-l/erasure_code/ec_base.h                   | 4190 ++++++++++++++++++++
>  lib/isa-l/erasure_code/ec_highlevel_func.c         |   90 +
>  lib/isa-l/erasure_code/ec_multibinary.asm          |  214 +
>  lib/isa-l/erasure_code/erasure_code_base_perf.c    |  245 ++
>  lib/isa-l/erasure_code/erasure_code_base_test.c    |  614 +++
>  lib/isa-l/erasure_code/erasure_code_perf.c         |  245 ++
>  lib/isa-l/erasure_code/erasure_code_sse_perf.c     |  246 ++
>  lib/isa-l/erasure_code/erasure_code_sse_test.c     |  612 +++
>  lib/isa-l/erasure_code/erasure_code_test.c         |  616 +++
>  lib/isa-l/erasure_code/gf_2vect_dot_prod_sse.asm   |  234 ++
>  .../erasure_code/gf_2vect_dot_prod_sse_perf.c      |  231 ++
>  .../erasure_code/gf_2vect_dot_prod_sse_test.c      |  496 +++
>  lib/isa-l/erasure_code/gf_3vect_dot_prod_sse.asm   |  257 ++
>  .../erasure_code/gf_3vect_dot_prod_sse_perf.c      |  260 ++
>  .../erasure_code/gf_3vect_dot_prod_sse_test.c      |  593 +++
>  lib/isa-l/erasure_code/gf_4vect_dot_prod_sse.asm   |  294 ++
>  .../erasure_code/gf_4vect_dot_prod_sse_perf.c      |  295 ++
>  .../erasure_code/gf_4vect_dot_prod_sse_test.c      |  694 ++++
>  lib/isa-l/erasure_code/gf_5vect_dot_prod_sse.asm   |  310 ++
>  .../erasure_code/gf_5vect_dot_prod_sse_perf.c      |  330 ++
>  .../erasure_code/gf_5vect_dot_prod_sse_test.c      |  801 ++++
>  lib/isa-l/erasure_code/gf_6vect_dot_prod_sse.asm   |  321 ++
>  .../erasure_code/gf_6vect_dot_prod_sse_perf.c      |  362 ++
>  .../erasure_code/gf_6vect_dot_prod_sse_test.c      |  898 +++++
>  lib/isa-l/erasure_code/gf_inverse_test.c           |  227 ++
>  lib/isa-l/erasure_code/gf_vect_dot_prod_1tbl.c     |  179 +
>  .../erasure_code/gf_vect_dot_prod_base_test.c      |  557 +++
>  lib/isa-l/erasure_code/gf_vect_dot_prod_perf.c     |  203 +
>  lib/isa-l/erasure_code/gf_vect_dot_prod_sse.asm    |  193 +
>  lib/isa-l/erasure_code/gf_vect_dot_prod_sse_perf.c |  203 +
>  lib/isa-l/erasure_code/gf_vect_dot_prod_sse_test.c |  557 +++
>  lib/isa-l/erasure_code/gf_vect_dot_prod_test.c     |  557 +++
>  lib/isa-l/erasure_code/gf_vect_mul_avx.asm         |  170 +
>  lib/isa-l/erasure_code/gf_vect_mul_avx_perf.c      |  123 +
>  lib/isa-l/erasure_code/gf_vect_mul_avx_test.c      |  167 +
>  lib/isa-l/erasure_code/gf_vect_mul_base_test.c     |  155 +
>  lib/isa-l/erasure_code/gf_vect_mul_perf.c          |  124 +
>  lib/isa-l/erasure_code/gf_vect_mul_sse.asm         |  176 +
>  lib/isa-l/erasure_code/gf_vect_mul_sse_perf.c      |  119 +
>  lib/isa-l/erasure_code/gf_vect_mul_sse_test.c      |  185 +
>  lib/isa-l/erasure_code/gf_vect_mul_test.c          |  168 +
>  lib/isa-l/include/erasure_code.h                   |  379 ++
>  lib/isa-l/include/gf_vect_mul.h                    |  148 +
>  lib/isa-l/include/reg_sizes.asm                    |   94 +
>  lib/isa-l/include/test.h                           |   81 +
>  lib/isa-l/include/types.h                          |   78 +
>  lib/isa-l/make.inc                                 |  207 +
>  53 files changed, 19059 insertions(+)
>  create mode 100644 lib/isa-l/About_bsd.txt
>  create mode 100644 lib/isa-l/Makefile
>  create mode 100644 lib/isa-l/Makefile.nmake
>  create mode 100644 lib/isa-l/Release_notes_opensrc.txt
>  create mode 100644 lib/isa-l/erasure_code/Makefile
>  create mode 100644 lib/isa-l/erasure_code/ec_base.c
>  create mode 100644 lib/isa-l/erasure_code/ec_base.h
>  create mode 100644 lib/isa-l/erasure_code/ec_highlevel_func.c
>  create mode 100644 lib/isa-l/erasure_code/ec_multibinary.asm
>  create mode 100644 lib/isa-l/erasure_code/erasure_code_base_perf.c
>  create mode 100644 lib/isa-l/erasure_code/erasure_code_base_test.c
>  create mode 100644 lib/isa-l/erasure_code/erasure_code_perf.c
>  create mode 100644 lib/isa-l/erasure_code/erasure_code_sse_perf.c
>  create mode 100644 lib/isa-l/erasure_code/erasure_code_sse_test.c
>  create mode 100644 lib/isa-l/erasure_code/erasure_code_test.c
>  create mode 100644 lib/isa-l/erasure_code/gf_2vect_dot_prod_sse.asm
>  create mode 100644 lib/isa-l/erasure_code/gf_2vect_dot_prod_sse_perf.c
>  create mode 100644 lib/isa-l/erasure_code/gf_2vect_dot_prod_sse_test.c
>  create mode 100644 lib/isa-l/erasure_code/gf_3vect_dot_prod_sse.asm
>  create mode 100644 lib/isa-l/erasure_code/gf_3vect_dot_prod_sse_perf.c
>  create mode 100644 lib/isa-l/erasure_code/gf_3vect_dot_prod_sse_test.c
>  create mode 100644 lib/isa-l/erasure_code/gf_4vect_dot_prod_sse.asm
>  create mode 100644 lib/isa-l/erasure_code/gf_4vect_dot_prod_sse_perf.c
>  create mode 100644 lib/isa-l/erasure_code/gf_4vect_dot_prod_sse_test.c
>  create mode 100644 lib/isa-l/erasure_code/gf_5vect_dot_prod_sse.asm
>  create mode 100644 lib/isa-l/erasure_code/gf_5vect_dot_prod_sse_perf.c
>  create mode 100644 lib/isa-l/erasure_code/gf_5vect_dot_prod_sse_test.c
>  create mode 100644 lib/isa-l/erasure_code/gf_6vect_dot_prod_sse.asm
>  create mode 100644 lib/isa-l/erasure_code/gf_6vect_dot_prod_sse_perf.c
>  create mode 100644 lib/isa-l/erasure_code/gf_6vect_dot_prod_sse_test.c
>  create mode 100644 lib/isa-l/erasure_code/gf_inverse_test.c
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_1tbl.c
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_base_test.c
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_perf.c
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_sse.asm
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_sse_perf.c
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_sse_test.c
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_dot_prod_test.c
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_avx.asm
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_avx_perf.c
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_avx_test.c
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_base_test.c
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_perf.c
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_sse.asm
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_sse_perf.c
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_sse_test.c
>  create mode 100644 lib/isa-l/erasure_code/gf_vect_mul_test.c
>  create mode 100644 lib/isa-l/include/erasure_code.h
>  create mode 100644 lib/isa-l/include/gf_vect_mul.h
>  create mode 100644 lib/isa-l/include/reg_sizes.asm
>  create mode 100644 lib/isa-l/include/test.h
>  create mode 100644 lib/isa-l/include/types.h
>  create mode 100644 lib/isa-l/make.inc

The patchset seems so large, but it has good modularity. I'd like to
apply it soon.

But before applying, can I see benchmark results which can show
improvement by this patchset?

Thanks,
Hitoshi



More information about the sheepdog mailing list