Re: [patch] voluntary-preempt-2.6.8-rc3-O4

Ingo Molnar
2004-08-10T08:46:58Z

* Lee Revell <rlrevell@joe-job.com> wrote:

> Ingo, do you plan to maintain the voluntary preempt patch against the
> -mm series? From looking at Andrew's announcement yesterday it looks
> like many latency issues fixed in the voluntary preemption patches are
> also fixed in -mm, so it seems like the patch would be much smaller.

yeah, and in addition we've already pushed 99% of our might_sleep()
additions to -mm too so that reduces the patch size too, quite
significantly.

time is the only limiting factor. Due to these partial merges (we are
trying to get all uncontroversial bits into -mm, hence into upstream)
the merge to -mm is hard. Especially for lock-breaks that i've done
differently than Andrew. I sent a consolidation patch yesterday but this
is still work in progress. So i'll do an -mm merge very time i get to do
it, but the primary testing still remains on the vanilla kernel (which
most people use).

> One thing that might be useful is breaking out the irq threading code
> as a patch against -mm. Judging from all the -mm latency fixes it
> seems like this would work as well as the vanilla kernel+voluntary
> preempt.

both softirq threading and hardirq threading will be done separately,
yes. Also, most of the switches and source-level distinctions between
cond_resched and voluntary_resched variants can go away too. The
'-clean' patch in the voluntary-preempt directory shows how it would
look like in the end.

> This would also make it easier to identify which are the important
> latency fixes from -mm enabling them to be pushed into mainline
> sooner. On some of my tests I got 10-20% better results using
> vol-preempt+mm vs vol-preempt+vanilla, it would be nice to identify
> what changes are responsible.

the plan right now is to push all the known-good stuff into 2.6.9 once
2.6.8 is out. That will unify all the improvements in a natural way. The
latest update kernel of FC2 also includes an earlier version of the
voluntary-preempt patch (sans any irq threading bits) - and it worked
out fine so far.

Ingo