Re: [2.4.17/18pre] VM and swap - it's really unusable

Robert Love
2002-01-12T05:59:25Z

On Fri, 2002-01-11 at 15:22, Rob Landley wrote:

> So the best approach is a combination of the two patches. SMP-on-UP for
> everything outside of spinlocks, and then manually yielding locks that cause
> problems. Both Robert Love and Andrew Morton have come out in favor of each
> other's patches on lkml just in the past few days. The patches work together
> quite well, and each wants to see the other's patch applied.

Right. Here is what I want for 2.5 as a _general_ step towards a better
kernel that will yield better performance:

Merge the preemptible kernel patch. A version is now out for
2.5.2-pre11 with support for Ingo's scheduler:

ftp://ftp.kernel.org/pub/linux/kernel/people/rml/preempt-kernel

Next, make available a tool for profiling kernel latencies. I have one
available now, preempt-stats, at the above url. Andrew has some
excellent tools available at his website, too. Something like this
could even be merged. Daniel Phillips suggested a passive tool on IRC.
Preempt-stats works like this. It is off-by-default and, when enabled,
measures time between lock and unlock, reporting the top 20 worst-cases.

Begin working on the worst-case locks. Solutions like Andrew's
low-latency and my lock-break are a start. Better (at least in general)
solutions are to analyze the locks. Localize them; make them finer
grained. Analyze the algorithms. Find the big problems. Anyone look
at the tty layer lately? Ugh. Using the preemptive kernel as a base
and the analysis of the locks as a list of culprits, clean this cruft
up. This would benefit SMP, too. Perhaps a better locking construct is
useful.

The immediate result is good; the future is better.

Robert Love