Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
default i/o scheduler changed? [Solved]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Bones McCracker
Veteran
Veteran


Joined: 14 Mar 2006
Posts: 1611
Location: U.S.A.

PostPosted: Sun Jul 15, 2007 7:42 pm    Post subject: default i/o scheduler changed? [Solved] Reply with quote

Upgrading from v2.6.20-gentoo-r8 to v2.6.21-gentoo-r4, I noticed a change to the comments in the kernel config that indicate CFQ is now the default I/O scheduler (although anticipatory was still set as the default). I'm looking for some insight into this change.

2.6.20-r8 indicates that Anticipatory is the default I/O scheduler:
Quote:
[*]The anticipatory I/O scheduler is the default disk scheduler. It is generally a good choice for most environments, but is quite large and complex when compared to the deadline I/O scheduler, it can also be slower in some cases especially some database loads.
[*]The CFQ I/O scheduler tries to distribute bandwidth equally among all processes in the system. It should provide a fair working environment, suitable for desktop systems.

2.6.21-r5 indicates that CFQ is the default I/O scheduler (however, after make defconfig, anticipatory was selected as the default):
Quote:
[*]The anticipatory I/O scheduler is generally a good choice for most environments, but is quite large and complex when compared to the deadline I/O scheduler, it can also be slower in some cases especially some database loads.
[*]The CFQ I/O scheduler tries to distribute bandwidth equally among all processes in the system. It should provide a fair working environment, suitable for desktop systems. This is the default I/O scheduler.


I understand what the two do differently. I am curious about three things:

a) If the comments state that CFQ is the default scheduler, why wasn't it set as the default by defconfig?
b) Why the change? Have there been recent dramatic improvements to the CFQ scheduler or something? Does this reflect an increase in the proportion of linux machines being used as desktops? What gives?


Last edited by Bones McCracker on Mon Jul 16, 2007 9:18 pm; edited 1 time in total
Back to top
View user's profile Send private message
didymos
Advocate
Advocate


Joined: 10 Oct 2005
Posts: 4798
Location: California

PostPosted: Mon Jul 16, 2007 9:02 am    Post subject: Reply with quote

Some forgot to fix the defconfig bit. It's set correctly when doing "make defconfig" with 2.6.22.
_________________
Thomas S. Howard
Back to top
View user's profile Send private message
Bones McCracker
Veteran
Veteran


Joined: 14 Mar 2006
Posts: 1611
Location: U.S.A.

PostPosted: Mon Jul 16, 2007 6:18 pm    Post subject: Reply with quote

Thanks.

I'm still curious why the change.
Back to top
View user's profile Send private message
broken_chaos
Guru
Guru


Joined: 18 Jan 2006
Posts: 370
Location: Ontario, Canada

PostPosted: Mon Jul 16, 2007 7:28 pm    Post subject: Reply with quote

CFQ is better, to put it simply. Much, much, much better in general for desktop/laptop/workstation I/O speeds and fairness between processes. Anticipatory or Deadline can be better for certain servers, but server admins should know what they're doing much more often than desktop/laptop users. ;)
Back to top
View user's profile Send private message
Bones McCracker
Veteran
Veteran


Joined: 14 Mar 2006
Posts: 1611
Location: U.S.A.

PostPosted: Mon Jul 16, 2007 9:18 pm    Post subject: Reply with quote

I guess things have changed then. People used to say CFQ was good for things you didn't want hiccups on (like video, etc.) but that anticipatory got much better performance in general. Sounds like there have been improvements to the CFQ scheduler.

Thanks for the insight.
Back to top
View user's profile Send private message
broken_chaos
Guru
Guru


Joined: 18 Jan 2006
Posts: 370
Location: Ontario, Canada

PostPosted: Mon Jul 16, 2007 9:25 pm    Post subject: Reply with quote

Just for a little more, from the kernel configuration:
"The CFQ I/O scheduler tries to distribute bandwidth equally among all processes in the system. It should provide a fair working environment, suitable for desktop systems."

It tries to be fair to all processes, which is more important on a desktop than one process having all the disk I/O - 90% of the time you'll not just have *one* program *only* doing disk access - your IM client might be writing a logfile, or reading a configuration file, while your browser accesses/saves cache files, and your cron daemon is doing a updatedb for locate, for instance. All these don't happen at the same time, but I believe they're supposed to be 'sharing' the I/O much better - for instance if you throw a copy of a large file into there, the other processes will still get disk I/O in a reasonable time.

(Well, I think that's the theory - it's obviously not *perfect* yet, but it's, on average, better for desktops/laptops than the other two currently.)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum