Re: [patch] my latest oom stuff

Linus Torvalds (torvalds@transmeta.com)
Mon, 26 Oct 1998 17:59:14 -0800 (PST)


Hi Andrea,

I just found a case that could certainly result in endless page faults,
and an endless stream of __get_free_page() calls. It's been there forever,
and I bascially thought it could never happen, but thinking about it some
more it can happen a lot more easily than I thought.

The problem is that the page fault handling code will give up if it cannot
allocate a page table entry. We have code in place to handle the final
page allocation failure, but the "mid-way" failures just failed, and
caused the page fault to be done over and over again.

More importantly, this could happen from kernel mode when a system call
was trying to fill in a user page, in which case it wouldn't even be
interruptible.

It's really unlikely to happen (because the page tables tend to be set up
already), but I suspect it can be triggered by execve'ing a new process
which is not going to have any existing page tables. Even then we're
likely to have old pages available (the ones we free'd from the previous
process), but at least it doesn't sound impossible that this could be a
problem.

I've not seen this behaviour myself, but it could have caused Andrea's
problems, especially the harder to find ones. Andrea, can you check this
patch (against clean 2.1.126) out and see if it makes any difference to
your testing?

(Right now it does the wrong error code: it will cause a SIGSEGV instead
of a SIGBUS when we run out of memory, but that's a small detail).

Essentially, instead of trying to call "oom()" and sending a signal (which
doesn't work for kernel level accesses anyway), the code returns the
proper return value from handle_mm_fault(), which allows the caller to do
the right thing (which can include following the exception tables). That
way we can handle the case of running out of memory from a kernel mode
access too..

(This is also why the fault gets the wrong signal - I didn't bother to fix
up the x86 fault handler all that much ;)

Btw, the reason I'm sending out these patches in emails instead of just
putting them on ftp.kernel.org is that the machine has had disk problems
for the last week, and finally gave up completely last Friday or so. So
ftp.kernel.org is down until we have a new raid array or the old one
magically recovers. Sorry about the spamming.

Linus

----
begin 664 pre-patch-2.1.127-2.gz
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
`
end

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/