On Wed, Jun 28, 2017 at 10:43:48AM -0600, Jens Axboe wrote: > On 06/28/2017 10:29 AM, Shaohua Li wrote: > > From: Shaohua Li <shli@xxxxxx> > > > > 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. > > Series looks fine to me. I don't know how you want to split or funnel it, > since it touches multiple different parts. Would it make sense to split this > series into two - one for the kernfs changes, and then a subsequent block > series that depend on that? What's the best practice to do this without building errors? Ask Tejun to merge the first 7 patches first? Thanks, Shaohua