Message ID | 20151229201649.GA31593@gmail.com (mailing list archive) |
---|---|
State | Rejected, archived |
Delegated to: | Jens Axboe |
Headers | show |
On 12/29/2015 01:16 PM, Alexandru Moise wrote: > This patch refers to Jens Axboe's change way back in 2006: > 7b14e3b52 cfq-iosched: slice expiry fixups > > In this patch he fixed a potential timer race condition by delaying > idle_slice_timer by the slice_idle time value. > > Today this timer is delayed by either slice_idle or group_idle time > values, which on my system, and according to > Documentation/block/cfq-iosched.txt the default value for group_idle > is 8ms. > > Since the time given by group_idle is supposed to be in milliseconds > we should convert that value from milliseconds to jiffies before > adding it to jiffies variable and setting our timer. Again, the slice idle values are stored in jiffies, there's no need to convert. I think you are missing the fact that we display the value in msecs, and convert when displaying/storing through sysfs.
On Tue, Dec 29, 2015 at 01:19:57PM -0700, Jens Axboe wrote: > On 12/29/2015 01:16 PM, Alexandru Moise wrote: > >This patch refers to Jens Axboe's change way back in 2006: > >7b14e3b52 cfq-iosched: slice expiry fixups > > > >In this patch he fixed a potential timer race condition by delaying > >idle_slice_timer by the slice_idle time value. > > > >Today this timer is delayed by either slice_idle or group_idle time > >values, which on my system, and according to > >Documentation/block/cfq-iosched.txt the default value for group_idle > >is 8ms. > > > >Since the time given by group_idle is supposed to be in milliseconds > >we should convert that value from milliseconds to jiffies before > >adding it to jiffies variable and setting our timer. > > Again, the slice idle values are stored in jiffies, there's no need > to convert. I think you are missing the fact that we display the > value in msecs, and convert when displaying/storing through sysfs. > > -- > Jens Axboe > Damn, yeah just saw the conversion in the STORE/SHOW_FUNCTION macros. My bad.. -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 1f9093e..088c45d 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -2954,7 +2954,7 @@ static void cfq_arm_slice_timer(struct cfq_data *cfqd) cfq_mark_cfqq_wait_request(cfqq); if (group_idle) - sl = cfqd->cfq_group_idle; + sl = msecs_to_jiffies(cfqd->cfq_group_idle); else sl = cfqd->cfq_slice_idle;
This patch refers to Jens Axboe's change way back in 2006: 7b14e3b52 cfq-iosched: slice expiry fixups In this patch he fixed a potential timer race condition by delaying idle_slice_timer by the slice_idle time value. Today this timer is delayed by either slice_idle or group_idle time values, which on my system, and according to Documentation/block/cfq-iosched.txt the default value for group_idle is 8ms. Since the time given by group_idle is supposed to be in milliseconds we should convert that value from milliseconds to jiffies before adding it to jiffies variable and setting our timer. Signed-off-by: Alexandru Moise <00moses.alexader00@gmail.com> --- V2: slice_idle not in miliseconds, convert only group_idle block/cfq-iosched.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)