blktrace: output cgroup info
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v5 Latest11 patches 1 replyIn review
- v412 patches 23 repliesSuperseded
- v312 patches 8 repliesSuperseded
Earlier versions · 2
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v2 | 12 patches | 0 replies | Superseded | |
| v1 | 11 patches | 8 replies | Superseded |
Changes in v5 from the cover letter
- Add ack and refresh to latest -next
Patches in v5 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/11 | kernfs: use idr instead of ida to manage inode numberfs/ include/ | +13 | 0 replies | |
| 2/11 | kernfs: implement i_generationfs/ fs/ include/ | +12 | 0 replies | |
| 3/11 | kernfs: add an API to get kernfs node from inode numberfs/ fs/ fs/ | +69 | 0 replies | |
| 4/11 | kernfs: don't set dentry->d_fsdatafs/ fs/ fs/ +3 more | +27 | 0 replies | |
| 5/11 | kernfs: introduce kernfs_node_idfs/ fs/ fs/ +3 more | +21 | 0 replies | |
| 6/11 | kernfs: add exportfs operationsfs/ include/ kernel/ | +70 | 0 replies | |
| 7/11 | cgroup: export fhandle info for a cgroupinclude/ | +8 | 0 replies | |
| 8/11 | blktrace: export cgroup info in traceinclude/ kernel/ | +161 | 0 replies | |
| 9/11 | block: always attach cgroup info into bioblock/ include/ | +4 | 0 replies | |
| 10/11 | blktrace: add an option to allow displaying cgroup pathfs/ include/ include/ +2 more | +52 | 0 replies | |
| 11/11 | block: use standard blktrace API to output cgroup info for debug notesblock/ block/ block/ +2 more | +35 | 0 replies |
Reviews trailers per patch
9 of 11 patches have a Reviewed-by or Acked-by.
| Patch | Tejun Heo | Greg Kroah-Hartman | Steven Rostedt (VMware) |
|---|---|---|---|
| 1/11 | A-b | A-b | |
| 2/11 | A-b | A-b | |
| 3/11 | A-b | A-b | |
| 4/11 | A-b | A-b | |
| 5/11 | A-b | ||
| 6/11 | A-b | ||
| 7/11 | A-b | ||
| 8/11 | A-b | ||
| 9/11 | A-b | ||
| 10/11 | |||
| 11/11 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.
Cover letter [PATCH V5 00/11] blktrace: output cgroup info
From: Shaohua Li <[email protected]>
Hi,
Currently blktrace isn't cgroup aware. blktrace prints out task name of current context, but the task of current context isn't always in the cgroup where the BIO comes from. We can't use task name to find out IO cgroup. For example, Writeback BIOs always comes from flusher thread but the BIOs are for different blk cgroups. Request could be requeued and dispatched from completely different tasks. MD/DM are another examples. This brings challenges if we want to use blktrace for performance tunning with cgroup enabled.
This patchset try to fix the gap. We print out cgroup fhandle info in blktrace. Userspace can use open_by_handle_at() syscall to find the cgroup by fhandle. Or userspace can use name_to_handle_at() syscall to find fhandle for a cgroup and use a BPF program to filter out blktrace for a specific cgroup.
The first 6 patches adds export operation handlers for kernfs, so userspace can use open_by_handle_at/name_to_handle_at to a kernfs file. Later patches make blktrace output cgroup info.
Thanks,
Shaohua
V4 -> V5:
- Add ack and refresh to latest -next
V3 -> V4:
- Address some issues pointed out by Tejun
- Fix build errors with latest -next tree
V2 -> V3:
- Uses 32 bits inode number
- Refresh to latest -next tree
V1 -> V2:
- Fix a bug in cgroup association
- Fix build errors reported by 0day
- Address some issues pointed out by Tejun
Shaohua Li (11):
kernfs: use idr instead of ida to manage inode number
kernfs: implement i_generation
kernfs: add an API to get kernfs node from inode number
kernfs: don't set dentry->d_fsdata
kernfs: introduce kernfs_node_id
kernfs: add exportfs operations
cgroup: export fhandle info for a cgroup
blktrace: export cgroup info in trace
block: always attach cgroup info into bio
blktrace: add an option to allow displaying cgroup path
block: use standard blktrace API to output cgroup info for debug notes
block/bfq-iosched.h | 13 +- block/blk-throttle.c | 13 +- block/cfq-iosched.c | 15 +-- fs/kernfs/dir.c | 111 ++++++++++++---- fs/kernfs/file.c | 10 +- fs/kernfs/inode.c | 9 +- fs/kernfs/kernfs-internal.h | 9 ++ fs/kernfs/mount.c | 94 ++++++++++++-- fs/kernfs/symlink.c | 6 +- include/linux/blk-cgroup.h | 3 + include/linux/blktrace_api.h | 13 +- include/linux/cgroup.h | 16 ++- include/linux/kernfs.h | 28 ++++- include/trace/events/writeback.h | 2 +- include/uapi/linux/blktrace_api.h | 3 + kernel/cgroup/cgroup.c | 15 ++- kernel/trace/blktrace.c | 259 ++++++++++++++++++++++++++------------ 17 files changed, 467 insertions(+), 152 deletions(-)
Signature · 1 line
2.9.3