2008-03-07 00:29:45

by Matthew Hodgson

[permalink] [raw]
Subject: Toggling preemption on a running kernel

Hi,

I'm trying to compare the performance of some networking code
(throughput and latency when receiving various volumes of UDP streams)
between a preemptible and non-preemptible 2.6.24 kernel, and was
wondering if it is possible to temporarily disable preemption on a
running preemptible kernel. Is it just a matter of loading a module
which calls preempt_enable() at load and preempt_disable() at unload -
or is that too naive? Is there an existing way of doing this?

thanks,

Matthew.


--
Matthew Hodgson <[email protected]>
Media & Systems Project Manager
Tel: +44 (0) 845 666 7778
http://www.mxtelecom.com


2008-03-07 18:42:10

by Bill Davidsen

[permalink] [raw]
Subject: Re: Toggling preemption on a running kernel

Matthew Hodgson wrote:
> Hi,
>
> I'm trying to compare the performance of some networking code
> (throughput and latency when receiving various volumes of UDP streams)
> between a preemptible and non-preemptible 2.6.24 kernel, and was
> wondering if it is possible to temporarily disable preemption on a
> running preemptible kernel. Is it just a matter of loading a module
> which calls preempt_enable() at load and preempt_disable() at unload -
> or is that too naive? Is there an existing way of doing this?
>
That wouldn't get rid of all the code to support preempt, so it wouldn't
be useful for comparing much of anything. I think you need to build two
identical kernels here, with only one difference.

--
Bill Davidsen <[email protected]>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot