iovisor / iovisor/bcc

filetop can't track file access behavior on sendfile system call

Open
#3,951 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
22.7k
Forks
4.1k
Avg merge
10d 4h
Merged PRs (30d)
3

Description

Hi all,

I use filetop to tracing behavior of access file, this tool use vfs_write() and vfs_read() to implement.

But when I use busybox (1.31.1) cat tool to output text on terminal, it default path is to use the do_sendfile() rule, not pass vfs_read() path, result in can't appear on filetop.

-busybox default [*] Use sendfile system call :
```
perf call-graph
22.74% 0.00% cat [kernel.kallsyms] [k] __sys_trace_return
|
---__sys_trace_return
|
|--8.22%--sys_sendfile64
| do_sendfile
| do_splice_direct
```

If I disable busybox setting sendfile system call, then cat process it will use vfs_read() path and will be displayed on filetop.

-[ ] Use sendfile system call :
```
perf call-graph
14.12% 14.12% cat [kernel.kallsyms] [k] generic_file_read_ite
|
---__sys_trace_return
sys_read
vfs_read
__vfs_read
```
So my question is whether the filetop can filter on sendfile() path, so that it can analysis more case for better user experience.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.