[linux-audio-dev] Fwd: [PATCH] Preemptive Kernel for Ingo's O(1) scheduler

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] Fwd: [PATCH] Preemptive Kernel for Ingo's O(1) scheduler
From: Roger Larsson (roger.larsson_AT_norran.net)
Date: Fri Jan 11 2002 - 23:10:37 EET


Hi low latency lovers,

With the improved throughput in dbench I think this got a better
chance to be included ... :-)

/RogerL

---------- Forwarded Message ----------

Subject: [PATCH] Preemptive Kernel for Ingo's O(1) scheduler
Date: 11 Jan 2002 16:04:54 -0500
From: Robert Love <rml_AT_tech9.net>
To: linux-kernel_AT_vger.kernel.org
Cc: kpreempt-tech_AT_lists.sourceforge.net, george_AT_mvista.com, mingo_AT_elte.hu,
torvalds_AT_transmeta.com

A version of preempt-kernel is now available for Ingo's O(1) scheduler.

For 2.5.2-pre11:
        ftp://ftp.kernel.org/pub/linux/kernel/people/rml/preempt-kernel/v2.5/preempt-
kernel-rml-2.5.2-pre11-1.patch For 2.4.18-pre3 + sched-O1-H6:
        ftp://ftp.kernel.org/pub/linux/kernel/people/rml/preempt-kernel/v2.4/ingo-O1-
sched/preempt-kernel-rml-2.4.18-pre3-ingo-1.patch

Because of changes in load_balance, I suggest not using preempt-kernel
and an additional sched update on 2.5. I'll update as the patches are
merged into 2.5.

Making the kernel fully preemptible should be synergistic with Ingo's
scheduler with its faster task dispatch time and better RT support.

Getting the two to play together was not hard, albeit a bit of a pain.
The actually scheduling support is less, due to the simplified schedule
and schedule_tail, although there is added code for making the per-CPU
runqueues preempt-safe.

Benchmarks:

2.5.2-pre11 dbench 16: 24.5364 MB/s
2.5.2-pre11-preempt dbench 16: 27.5192 MB/s

2.5.2-pre11 latencytest:
worst-case latency is 18.7ms with 96% scheduling latency on-time
2.5.2-pre11-preempt latencytest:
6ms (<1.5ms in all but disk write) with 99.9% scheduling latency on-time

2.5.2-pre11-preempt avg latency is 1.1ms (for an arbitray work-load I
tested with). The obstacle for sub-ms average latency is still the
long-held spinlocks that can be 100ms+.

Full ChangeLog:

- make preempt-kernel and Ingo's O(1) scheduler play nicely

- (2.5 only) more include additions

- various cleanups and such

Comments, patches, etc. are appreciated. While it is running stable
here in both SMP and UP on both 2.4 and 2.5, more testing could reveal
problems. Also, some optimization could be done at this point to
hopefully reduce overhead. Enjoy,

        Robert Love

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo_AT_vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

-------------------------------------------------------

-- 
Roger Larsson
Skellefteċ
Sweden


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Fri Jan 11 2002 - 23:07:18 EET