Hello. On Thu, Jun 29, 2023 at 06:21:34PM +0300, Ofir Gal <ofir.gal@xxxxxxxxxxx> wrote: > >>> Currently there is no way to throttle nvme targets with cgroup v2. > >> > >> How do you do it with v1? > With v1 I would add a blkio rule at the cgroup root level. The bio's > that the nvme target submits aren't associated to a specific cgroup, > which makes them follow the rules of the cgroup root level. > > V2 doesn't allow to set rules at the root level by design. I think you want to add a per-nvme port (device?) throttled-bandwidth attribute (instead of param_associated_cgroup) to control this on the client (whole host) side -- even without cgroups. Associating ports with cgroups and then bios with cgroups looks superfluous. (But it is understandably tempting because then IO controller's throttling implementaion may be reused.) How are the nvmet_bdev_execute_rw() et al functions called? (Only via kthreads without (uspace) process context? Or can the reqs be traced to a user space process?) Thanks, Michal
Attachment:
signature.asc
Description: PGP signature