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

Andrea Arcangeli
2002-01-08T15:40:22Z

On Tue, Jan 08, 2002 at 11:59:36AM -0200, Marcelo Tosatti wrote:
>
>
> On Tue, 8 Jan 2002, Dieter [iso-8859-15] Nützel wrote:
>
> > Is it possible to decide, now what should go into 2.4.18 (maybe -pre3) -aa or
> > -rmap?
>
> -rmap is 2.5 stuff.
>
> I would really like to integrate -aa stuff as soon as I can understand
> _why_ Andrea is doing those changes.
>
> Note that people will _always_ complain about VM: It will always be
> possible to optimize it to some case and cause harm to other cases.

At the moment I've one showstopper thing to fix (enterprise thing only
though, normal boxes doesn't care about this), then I will try to split
out those bits for integration and they should become much more readable.

>
> I'm not saying that VM is perfect right now: It for sure has problems.
>
> > Andrew Morten`s read-latency.patch is a clear winner for me, too.
>
> AFAIK Andrew's code simply adds schedule points around the kernel, right?
>
> If so, nope, I do not plan to integrate it.

Note that some of them are bugfixes, without them an luser can hang the
machine for several seconds on any box with some giga of ram by simple
reading and writing into a large enough buffer. I think we never had
time to care merging those bits into mainline yet and this is probably
the main reason they're not integrated but it's something that should be
in mainline IMHO.

> > What about 00_nanosleep-5 and bootmem?
>
> What is 00_nanosleep-5 and bootmem ?

nanosleep gives usec resolution to the rest-of-time returned by
nanosleep, this avoids glibc userspace starvation on nanosleep
interrupted by a flood of signals. It was requested by glibc people.

I know nanosleep triggers ltp failures (both kindly reported by Paul
Larson and Randy Hron), but I really suspect a false positive in the ltp
testsuite, I didn't had time to check it yet, but certainly I tested
nanosleep retval usec resolution with some testcase written by hand
(compared to gettimeofday output) after writing it long ago, and it was
apparently working fine and I never had problems with it yet.

Andrea