Hi Ming Lei, Thanks for the input. We will consider the points which you and Tejun has suggested . Regards, Muneendra. -----Original Message----- From: Ming Lei [mailto:tom.leiming@xxxxxxxxx] Sent: Thursday, August 6, 2020 7:52 AM To: Muneendra Kumar M <muneendra.kumar@xxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx>; Hannes Reinecke <hare@xxxxxxx>; James Smart <james.smart@xxxxxxxxxxxx>; Daniel Wagner <dwagner@xxxxxxx>; linux-block <linux-block@xxxxxxxxxxxxxxx>; Linux SCSI List <linux-scsi@xxxxxxxxxxxxxxx>; Paolo Bonzini <pbonzini@xxxxxxxxxx>; Ewan Milne <emilne@xxxxxxxxxx>; mkumar@xxxxxxxxxx Subject: Re: [RFC 01/16] blkcg:Introduce blkio.app_identifier knob to blkio controller On Thu, Aug 6, 2020 at 1:15 AM Muneendra Kumar M <muneendra.kumar@xxxxxxxxxxxx> wrote: > > Hi Tejun, > Our main requirement is to track the bio requests coming from > different VM /container applications at the blk device > layer(fc,scsi,nvme). > By the time IO request comes to the blk device layer, the context of > the application is lost and we can't track whose IO this belongs. > > In our approach we used the block cgroup to achieve this requirement. > Since Requests also have access to the block cgroup via > bio->bi_blkg->blkcg, and from there we can get the VM UUID. > Therefore we added the VM UUID(app_identifier) to struct blkcg and > define the accessors in blkcg_files and blkcg_legacy_files. > > Could you please let me know is there any another way where we can get > the VM UUID info with the help of blkcg. As Tejun suggested, the mapping between bio->bi_blkg->blkcg and the unique ID could be built in usage scope, such as fabric infrastructure, something like xarray/hash may help to do that without much difficulty. Thanks, Ming