Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751937AbdF1QoB (ORCPT ); Wed, 28 Jun 2017 12:44:01 -0400 Received: from mail-pf0-f180.google.com ([209.85.192.180]:35140 "EHLO mail-pf0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751592AbdF1Qnv (ORCPT ); Wed, 28 Jun 2017 12:43:51 -0400 Subject: Re: [PATCH V4 00/12] blktrace: output cgroup info To: Shaohua Li , linux-kernel@vger.kernel.org, linux-block@vger.kernel.org Cc: tj@kernel.org, gregkh@linuxfoundation.org, hch@lst.de, rostedt@goodmis.org, lizefan@huawei.com, Kernel-team@fb.com, Shaohua Li References: From: Jens Axboe Message-ID: Date: Wed, 28 Jun 2017 10:43:48 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1402 Lines: 29 On 06/28/2017 10:29 AM, Shaohua Li wrote: > From: Shaohua Li > > 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? -- Jens Axboe