How to go through the call stack of ec_encode_data (in order to find slice size)?
- Dominant language
- C
- Stars
- 1.1k
- Forks
- 346
- PR merge metrics
- No merged PRs in 30d
Description
I'm trying to go through the call stack of `ec_encode_data` using `printf` statements as the function is being called in erasure_code_perf.c.
I believe that the only two places where `ec_encode_data` is defined are in ec_base_aliases.c and ec_base_vsx.c. I wrote `printf`statements under both definitions to see where the entry point of the function is, but when I ran `make perfs`, neither `printf` statements were outputted. Am I doing something wrong or thinking about the function incorrectly?
What I'm ultimately trying to do is find some sort of "slice" size. The concept of slicing was mentioned in the [Exploiting Combined Locality for Wide-Stripe Erasure Coding in Distributed Storage](https://www.usenix.org/system/files/fast21-hu.pdf) paper, specifically in section 4.2, which states that _"current encoding implementation (e.g., Intel ISA-L [4] and QFS [49]) often splits data chunks of large size (e.g., 64 MiB) into smaller-size data slices and performs slice-based encoding with hardware acceleration (e.g., Intel ISA-L) or parallelism (e.g., QFS)"_. I'm trying to find where in the ISA-L code this slicing occurs, and more specifically, what the slice size is.
Any help would be greatly appreciated!
Contributor guide
Assessment
This issue has not been assessed yet.