lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 9 Jun 2015 14:54:30 -0700 From: Tahsin Erdogan <tahsin@...gle.com> To: Jens Axboe <axboe@...nel.dk> Cc: Romain Francoise <romain@...bokech.com>, linux-kernel@...r.kernel.org Subject: Re: [PATCH] block: Make CFQ default to IOPS mode on SSDs Thanks for catching this. In my testing, I was switching to cfq through sysfs. Since disk initialization happens earlier than manual switching, I didn't hit this problem. On Tue, Jun 9, 2015 at 10:42 AM, Jens Axboe <axboe@...nel.dk> wrote: > On 06/09/2015 04:18 AM, Romain Francoise wrote: >> >> Hi, >> >> On Tue, May 19, 2015 at 01:55:21PM -0700, Tahsin Erdogan wrote: >>> >>> --- a/block/cfq-iosched.c >>> +++ b/block/cfq-iosched.c >>> @@ -4460,7 +4460,7 @@ static int cfq_init_queue(struct request_queue *q, >>> struct elevator_type *e) >>> cfqd->cfq_slice[1] = cfq_slice_sync; >>> cfqd->cfq_target_latency = cfq_target_latency; >>> cfqd->cfq_slice_async_rq = cfq_slice_async_rq; >>> - cfqd->cfq_slice_idle = cfq_slice_idle; >>> + cfqd->cfq_slice_idle = blk_queue_nonrot(q) ? 0 : cfq_slice_idle; >>> cfqd->cfq_group_idle = cfq_group_idle; >>> cfqd->cfq_latency = 1; >>> cfqd->hw_tag = -1; >> >> >> Did you test this patch with regular AHCI SSD devices? Applying it on >> top of v4.1-rc7 makes no difference, slice_idle is still initialized to >> 8 in my setup, while rotational is 0. >> >> Isn't the elevator initialized long before the non-rotational flag is >> actually set on the device (which probably happens after it's probed on >> the scsi bus)? > > > You are absolutely correct. What happens is that the queue is allocated and > initialized, and cfq checks the flag. But the flag is set later in the > process, when we have finished probing the device checked if it's rotational > or not. > > There are a few options to handle this. The attached might work, not tested > at all. Basically it adds an io sched registration hook, that is called when > we are adding the disk on the queue. Non-rotational detection should be done > at that point. > > Does that work for you? > > -- > Jens Axboe > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists