On 8/29/24 1:18 AM, Tero Kristo wrote: > diff --git a/block/bio.c b/block/bio.c > index e9e809a63c59..6c46d75345d7 100644 > --- a/block/bio.c > +++ b/block/bio.c > @@ -282,6 +282,8 @@ void bio_init(struct bio *bio, struct block_device *bdev, struct bio_vec *table, > bio->bi_max_vecs = max_vecs; > bio->bi_io_vec = table; > bio->bi_pool = NULL; > + > + bdev_update_cpu_latency_pm_qos(bio->bi_bdev); > } > EXPORT_SYMBOL(bio_init); This is entirely the wrong place to do this, presumably it should be done at IO dispatch time, not when something initializes a bio. And also feels like entirely the wrong way to go about this, adding overhead to potentially each IO dispatch, of which there can be millions per second. -- Jens Axboe