public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Daniel Phillips <phillips@bonn-fries.net>
Cc: Marcelo Tosatti <marcelo@conectiva.com.br>,
	William Lee Irwin III <wli@holomorphy.com>,
	linux-kernel@vger.kernel.org, rsf@us.ibm.com
Subject: Re: [TEST] page tables filling non-highmem
Date: Mon, 18 Feb 2002 13:39:45 +0100	[thread overview]
Message-ID: <20020218133945.M7940@athlon.random> (raw)
In-Reply-To: <20020215045106.GB26322@holomorphy.com> <E16beDZ-0002jy-00@starship.berlin> <20020218023800.A23743@athlon.random> <E16cd5S-0000Ij-00@starship.berlin>
In-Reply-To: <E16cd5S-0000Ij-00@starship.berlin>

On Mon, Feb 18, 2002 at 02:59:26AM +0100, Daniel Phillips wrote:
> On February 18, 2002 02:38 am, Andrea Arcangeli wrote:
> > On Fri, Feb 15, 2002 at 09:59:45AM +0100, Daniel Phillips wrote:
> > > On February 15, 2002 05:51 am, William Lee Irwin III wrote:
> > > > The following testcase brought down 2.4.17 mainline on an
> > > > 8-way P-III 700MHz machine with 12GB of RAM. The last thing
> > > > logged from it was a LowFree of 2MB with 9GB of highmem free
> > > > after something like 6-8 hours of pounding away, at which
> > > > time the machine stopped responding (IIRC it was given ~12
> > > > hours to echo another character).
> > > > 
> > > > This testcase is a blatant attempt to fill the direct-mapped
> > > > portion of the kernel virtual address space with process pagetables.
> > > > It was suspected such a thing was happening in another failure scenario
> > > > which is what motivated me to devise this testcase. I believe a fix
> > > > already exists (i.e. aa's ptes in highmem stuff) though I've not yet
> > > > verified its correct operation here.
> > > 
> > > As you described it to me on irc, this demonstration turns up a
> > > considerably worse problem than just having insufficient space for
> > > page tables - the system locks up hard instead of doing anything
> > > reasonable on page table-related oom.  It's wrong that the system
> > > should behave this way, it is after all, just an oom.
> > > 
> > > Now that basic stability issues seem to be under control, perhaps
> > > it's time to give the oom problem the attention it deserves?
> > 
> > My tree doesn't lock up hard even without pte-highmem applied.  The task
> > gets killed.
> 
> Well, the obvious question is: Why Isn't It In Mainline???

Because mainline maintainers disagreed. The argument is been "the only
way to avoid suprious oom failures is to reintroduce such infinite
loop". oom deadlocks was the last of my worries (as far as my tree
doesn't deadlock) given the rest of the agreements, so I giveup waiting
somebody to complain (as with everything else it eventually happens when
something can deadlock) and really I've no fun to return discussing
this.

> > backout pte-highmem, try the same testcase again on my tree
> > and you'll see. The oom handling in mainline is deadlock prone, I always
> > known this and that's why I always rejected it. Nobody but me
> > acklowledged this problem
> 
> Lots of people acknowleged it, it seems just one guy fixed it.

As far I can tell this is the first oom deadlock email I read on l-k
(but I unfortunately don't have time to read every single email on l-k
so I may have missed some). The others were too early deadlocks (less
severe).

> > and I spent quite an amount of time convincing
> > mainline maintainers about those deadlock flaws of the mainline approch
> > but I failed so I giveup waiting for a report like this, just like with
> > all the other stuff that is now in my vm patch, 90% of it I tried to
> > push it separately into mainline before having to accumulate it.
> 
> What I'd suggest is, just post a list of each item outstanding item that
> haven't been pushed to mainline, and an explanation of which problem it
> fixes.

I'm out of sync at the moment, and I've many things pending to do, so
I'm afraid I won't have much time for it.

> Incorrect oom accounting has been a bleeding wound for well over a year,
> and if you've got a fix that's provably correct...
> 
> Marcelo??  Is this just a stupid communication problem?

It wasn't a communication problem.

Andrea

  parent reply	other threads:[~2002-02-18 12:39 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-15  4:51 [TEST] page tables filling non-highmem William Lee Irwin III
2002-02-15  8:59 ` Daniel Phillips
2002-02-15  8:56   ` William Lee Irwin III
2002-02-18  1:38   ` Andrea Arcangeli
2002-02-18  1:59     ` Daniel Phillips
2002-02-18  3:02       ` Marcelo Tosatti
2002-02-18 12:39       ` Andrea Arcangeli [this message]
2002-02-18  3:26     ` William Lee Irwin III
2002-02-18 12:27       ` Andrea Arcangeli
2002-02-18 12:59         ` Daniel Phillips
2002-02-18 13:15           ` Andrea Arcangeli
2002-02-19  0:06             ` Daniel Phillips
2002-02-18  4:25     ` William Lee Irwin III
2002-02-19  0:03 ` William Lee Irwin III
     [not found]   ` <Pine.LNX.4.33.0202181914350.5124-100000@coffee.psychology.mcmaster.ca>
2002-02-19  0:16     ` William Lee Irwin III

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020218133945.M7940@athlon.random \
    --to=andrea@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@conectiva.com.br \
    --cc=phillips@bonn-fries.net \
    --cc=rsf@us.ibm.com \
    --cc=wli@holomorphy.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox