login
Header Space

 
 

Linux: 2.6.1-ck3, Desktop Performance Patchset

February 3, 2004 - 1:15am
Submitted by Jeremy on February 3, 2004 - 1:15am.
Linux

Con Kolivas [interview] has begun a new performance improving patchset for the 2.6 kernel [blog] [blog]. On Con's kernel patch homepage he says, "these are patches designed to improve system responsiveness with specific emphasis on the desktop." The patchset includes a number of interesting patches, including autoregulated virtual memory swappiness, batch scheduling, isochronous scheduling, improved support for hyperthreading, and Jens Axboe's CFQ I/O scheduler [story]. Refer to Con's patch page for a more complete explanation of each of these patches. Read on for his full release announcement.

If you're using the 2.4 kernel, Con's earlier 2.4-ck patchset [story] is now maintained by Eric Hustvedt and available for download here.


From: Con Kolivas [email blocked]
To:  linux-kernel
Subject: 2.6.1-ck3

Date: Tue,  3 Feb 2004 14:43:21 +1100

First public 2.6 -ck patchset

Download, descriptions, split out patches available here:
http://kernel.kolivas.org

Summary:
O21int
This is a very small fix for the interactivity estimator. It will be included in
2.6.2 mainline.

am6
Autoregulates the virtual memory swappiness.

batch7
Batch scheduling.

iso1
Isochronous scheduling.

htbase1
Base patch for hyperthread modifications

httweak1
Tiny performance enhancements for hyperthreading

htnice2
Make "nice" hyperthread smart

htbatch1
Make batch scheduling hyperthread smart

cfqioprio
Complete Fair Queueing disk scheduler and I/O priorities

schedioprio
Set initial I/O priorities according to cpu scheduling policy and nice.



Related Links:

Not just desktop

February 3, 2004 - 6:42am

I guess I should make it clear there is nothing specific about this patchset that makes it suitable only for a desktop. It should not cause any detriment in other settings and SCHED_ISO may be ideal for a high priority server task (like BIND).

2.6.2 RC3

February 3, 2004 - 7:18am
Anonymous

Are the patches already merged in this one, or will they be only in the final 2.6.2?

O21int only

February 3, 2004 - 7:53am

The only patch from the -ck patchset currently going into mainline is the O21int interactivity fix. It was merged at 2.6.2-rc2.

Making nice hyperthread smart and the cfq scheduler are on the cards to make it into mainline in some form in the more distant future.

As for the rest, they are unlikely.

CFQ Scheduler

February 3, 2004 - 9:57am
Anonymous

Hey, using the CFQ scheduler does not diminute throughput in detriment
of latency (this way it is more suitable to desktop that databases)?

Is there any possibility that CFQ to be the default io scheduler?

Latency vs throughput

February 3, 2004 - 4:26pm

Contrary to popular belief, latency is not inversely proportional to throughput. A good design should improve both, although it is not infrequent that changes to an existing design can improve one at the detriment of the other. As for throughput results I don't think extensive benchmarking has been done yet but so far there isn't any major difference.

Apart from all that, you can boot with any elevator in -ck anyway by using the boot parameter
elevator=as (or deadline or cfq).

Thanks for your answer

February 3, 2004 - 7:35pm
Anonymous

There are possibility that CFQ to be the default io scheduler?

Thanks!

CFQ == default in -ck

February 3, 2004 - 8:37pm

cfq is the default I/O scheduler in -ck if you don't specify one. As for the mainline kernel it is very unlikely to become the default one since it needs a lot of performance and regression testing still, and is only available in the -mm branch anyway.

latency

February 3, 2004 - 10:06pm

Would it be worth trying the CQF IO scheduler for audio apps which are very latency sensitive (jack+ardour)? Or would it not provide much of a benefit over the anticipatory scheduler?

thanks,
AdHoc

Yes

February 3, 2004 - 10:17pm

Audio & video are areas I'm trying to improve. Isochronous scheduling is designed with this in mind to decrease cpu scheduling and disk latency. The disk latency is addressed by using the cfq scheduler and linking SCHED_ISO tasks with high I/O priorities. If any of your audio applications try to start in real time priority without root privileges they will automatically be given SCHED_ISO status for normal users. Xmms for example has a "use real time priority" option in it's preferences. Alternatively they can be started as iso scheduling manually

schedtool -I -e xmms

for example will start xmms as SCHED_ISO.

yummie

February 3, 2004 - 6:42am
Anonymous

let's start compiling right away, I've been wanting to try the CFQ IO scheduler for a long time. Isochronous scheduling seems nice for games.

has anyone actually tried run

February 3, 2004 - 3:11pm
Anonymous

has anyone actually tried running it ???
what are your experiences ?

2.6.2-ck1

February 5, 2004 - 6:17am
Anonymous

There's a problem with kernel/sched.c in the 2.6.2-ck1 patch; line 1796 needs to be moved to 1795.

Indeed

February 5, 2004 - 8:13am

The compiler doesn't complain and it works... but you're definitely right... hmm strange. Good pick up; thanks.

So should line 1795 move down

February 5, 2004 - 5:07pm
Anonymous

So should line 1795 move down to 1796?

Swap

February 5, 2004 - 6:04pm

Yes, a one to one swap is what's needed.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
speck-geostationary