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. Regards, Muneendra. -----Original Message----- From: Tejun Heo [mailto:htejun@xxxxxxxxx] On Behalf Of Tejun Heo Sent: Wednesday, August 5, 2020 8:09 PM To: Hannes Reinecke <hare@xxxxxxx> Cc: Ming Lei <tom.leiming@xxxxxxxxx>; James Smart <james.smart@xxxxxxxxxxxx>; Daniel Wagner <dwagner@xxxxxxx>; Muneendra <muneendra.kumar@xxxxxxxxxxxx>; 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 Hello, On Wed, Aug 05, 2020 at 08:33:19AM +0200, Hannes Reinecke wrote: > None of these are guaranteed to be either present or unique. > It's not uncommon to have VMs with more than one MAC address, and any > other unique identifier like system UUID is not required to be present. I have a really hard time seeing how this fits into block cgroup interface. The last time we did something similar (tagging from cgroup interface side) was for netcls and it ended poorly. There are basic problems with e.g. delegation as these things are at odds with everything else sharing the interface. My not-too-well informed suggestions are either building mapping somewhere in the stack or at least implement the interface where it fits better so that people who don't need app_identifier don't see them and preferably can disable them. I don't mind cgroup data structs carrying extra bits for stuff which want to make use of the cgroup tree but I'm a pretty firm nack on the proposed interface. Thanks. -- tejun