Messages in this thread | | | From | Jeff Moyer <> | Subject | Re: [PATCH 34/36] block: implement bio_associate_current() | Date | Wed, 22 Feb 2012 14:33:43 -0500 |
| |
Tejun Heo <tj@kernel.org> writes:
> Hey, Jeff.
Hi, Tejun!
> On Wed, Feb 22, 2012 at 08:45:02AM -0500, Jeff Moyer wrote: >> Tejun Heo <tj@kernel.org> writes: >> >> > -v2: #ifdef CONFIG_BLK_CGROUP added around bio->bi_ioc dereference in >> > rq_ioc() to fix build breakage. >> >> This is useful for cfq without blk cgroups as well, right? Why have you >> limited the scope like this? > > Because blk-throttle is the only current user. We can move the > BLK_CGROUP to cover just bi_css later on as we add more users.
I guess you're going to make me read the whole patch set. ;-) What I'm getting at is CFQ uses the io_context to make its scheduling decisions. If we can propagate the issuer's I/O context from bio creation all the way down to the I/O scheduler, then we can do a better job of accounting I/O (and hence scheduling, preemption, etc). As Vivek mentioned previously, we have seen performance issues with the dm-crypt target and CFQ, precisely because all of the I/O is submitted in the context of a worker thread, and the the process that initiated the I/O is unknown at that point.
Hopefully I've either cleared up my question, or proven to you that I do need to go read the rest of the patch set to understand why my question doesn't make sense. Let me know which is the case. ;-)
Cheers, Jeff
| |