« Previous 1 2 3 4 5
A ptrace-based tracing mechanism for syscalls
Hidden Treasures
Future Work
The stracer currently supports only x86-64, although we've already experimented with aarch64 support. However, ptrace
delivers the wrong syscall numbers during tracing. Because x86-64 is more widely used, we decided to focus on implementing the stracer first for x86-64 and add aarch64 support at a later point.
The biggest issue so far, however, has been the availability of lock-free data structures for C. The lack thereof has been a limiting factor for many of our development endeavors. The syscall event interface is just one of many examples for this issue. A next step might be the implementation of a lock-free multiconsumer ring buffer.
Infos
- gprof: https://sourceware.org/binutils/docs/gprof
- gperftools: https://github.com/gperftools/gperftools
- McKee, Sally A., and Robert W. Wisniewski. "Memory wall." In: D. Padua, ed. Encyclopedia of Parallel Computing . Springer, Boston, MA. 2011. doi:10.1007/978-0-387-09766-4_234
- libiotrace: https://github.com/hpcraink/fsprj2
- POSIX: https://pubs.opengroup.org/onlinepubs/9699919799
- MPI: https://www.mpi-forum.org
- Darshan: https://www.mcs.anl.gov/research/projects/darshan/
- Linux 4.7 x86-64 syscalls table: https://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64
- ministrace: https://github.com/nelhage/ministrace
- rmind, ringbuf: https://github.com/rmind/ringbuf
« Previous 1 2 3 4 5
Buy this article as PDF
(incl. VAT)
Buy ADMIN Magazine
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Most Popular
Support Our Work
ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.