All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Andrew Morton <akpm@zip.com.au>
Cc: David F Barrera <dbarrera@us.ibm.com>, linux-kernel@vger.kernel.org
Subject: Re: kernel BUG at page_alloc.c:92! & page allocation failure. order:0, mode:0x0
Date: Tue, 23 Jul 2002 22:56:28 +0200	[thread overview]
Message-ID: <20020723205628.GM1117@dualathlon.random> (raw)
In-Reply-To: <3D3DC0E0.EDE4CF20@zip.com.au>

On Tue, Jul 23, 2002 at 01:47:28PM -0700, Andrew Morton wrote:
> Andrea Arcangeli wrote:
> > 
> > On Tue, Jul 23, 2002 at 12:24:04PM -0700, Andrew Morton wrote:
> > > David F Barrera wrote:
> > > >
> > > > I have experienced the following errors while running a test suite (LTP
> > > > test suite)  on the 2.4.26 kernel.  Has anybody seen this problem, and, if
> > > > so, is there a patch for it?  Thanks.
> > > >
> > > > kernel BUG at page_alloc.c:92!
> > >
> > > Could you please replace the put_page(page) in
> > > kernel/ptrace.c:access_process_vm() with page_cache_release(page)
> > > and retest?
> > 
> > I prefer to drop page_cache_release and to have __free_pages_ok to deal
> > with the lru pages like it's been fixed in 2.4.
> 
> That would fix it too.  But a __free_pages_ok call from interrupt
> context can deadlock the box.

I guess you mean it can corrupt the lru list, not necessairly deadlock
the box. That's not the case either though, see the in_interrupt() check
in my tree in free_pages_ok, only normal context is allowed to play with
pagecache. (async-io isn't in my tree)

> 
> The removal of pages from the LRU is rather a mess.  It's getting
> better, and we can fix up some more of this if/when pagemap_lru_lock
> becomes an interrupt-safe lock.

that will allow irq to manage pagecahce but the fact it's not interrupt
safe it's really a irq latency feature, the fact disabling irqs during
the critical section decreases contention on the lock is kind of hack,
that is true for all spinlocks out there, by that argument all spinlocks
should be irq safe.

Andrea

  reply	other threads:[~2002-07-23 20:52 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-23 16:56 kernel BUG at page_alloc.c:92! & page allocation failure. order:0, mode:0x0 David F Barrera
2002-07-23 19:24 ` Andrew Morton
2002-07-23 20:34   ` Andrea Arcangeli
2002-07-23 20:47     ` Andrew Morton
2002-07-23 20:56       ` Andrea Arcangeli [this message]
2002-07-23 21:16         ` Andrew Morton
  -- strict thread matches above, loose matches on Subject: below --
2002-07-23 17:07 David F Barrera
2002-07-23 17:17 ` Rik van Riel
2002-07-23 18:17   ` Paul Larson
2002-07-24 13:42 David F Barrera
2002-07-24 19:35 ` Andrew Morton
2002-07-24 19:55   ` Andrea Arcangeli
2002-07-24 20:11     ` Andrew Morton
2002-07-25 14:02 David F Barrera

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=20020723205628.GM1117@dualathlon.random \
    --to=andrea@suse.de \
    --cc=akpm@zip.com.au \
    --cc=dbarrera@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.