From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: Marc-Christian Petersen <m.c.p@kernel.linux-systeme.com>
Cc: linux-kernel@vger.kernel.org, Carson Gaspar <carson@taltos.org>,
Marco Fais <marco.fais@abbeynet.it>
Subject: Re: kernel BUG at page_alloc.c:98 -- compiling with distcc
Date: Thu, 20 May 2004 09:21:32 -0300 [thread overview]
Message-ID: <20040520122131.GB18718@logos.cnet> (raw)
In-Reply-To: <200405191750.10090@WOLK>
On Wed, May 19, 2004 at 05:50:10PM +0200, Marc-Christian Petersen wrote:
> On Wednesday 19 May 2004 13:59, Marcelo Tosatti wrote:
>
> Hi Marcelo, Carson ...
>
> > > > >>[1.] Kernel panic while using distcc
> > > > >>[2.] I have 5-6 development linux systems that we use without problem
> > > > >>under a normal development workload. Trying distcc for speeding up
> > > > >>compilation, we have a fully reproducible kernel panic in a very
> > > > >> short time (seconds after compilation start). The kernel panic
> > > > >> happens *only* when the systems are "remotely controlled" (the
> > > > >> distcc daemon is receiving source files from remote systems, compile
> > > > >> and send back compiled objects). When compiling with distcc the
> > > > >> local system doesn't show any kernel panic, while the same system
> > > > >> used as a "remote compiler system" dies very quickly.
> > > > >>[3.] Keywords: distcc BUG page_alloc.c
>
> > So did Andrea's fix work for you? :)
>
> sorry if I did not follow this thread from the beginning, but why is distcc
> causing a BUG() in page_alloc.c? I use distcc since I don't know when and
> never had any BUG() in page_alloc with distcc, nor the specific bug at :98.
>
> I have 7 machines in my distcc farm, and all are "remote controlled".
>
> Could someone please clarify me? Thank you.
We try to free a page which has been sent over the network
in IRQ context, because with sendfile() its possible that such IRQ context
reference is the last one on the page.
Quoting David Miller:
When vmscan.c shrinks a cache, it never tosses a page which is LRU if
the page count is not 1 (after trying to toss attached buffers if any).
I think LRU used to contribute a page count, which prevented this problem,
or something like that.
In fact it seems trivial to trigger the bug in question:
1) open file
2) sendfile() it over a socket
3) quickly close the file, no existing user references, only the
sendfile() packet references remain to the page
When the TCP packet gets ACK'd, we explode in __free_pages_ok() as per
the report.
next prev parent reply other threads:[~2004-05-20 12:20 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-02 10:21 kernel BUG at page_alloc.c:98 -- compiling with distcc Marco Fais
2004-04-02 13:15 ` Marco Roeland
[not found] ` <6.0.0.22.2.20040402163334.02abe7d8@pop.localnet>
2004-04-02 15:05 ` Marco Roeland
2004-04-05 10:42 ` Marco Fais
2004-04-05 11:46 ` Marco Roeland
2004-04-05 14:08 ` Marco Fais
2004-04-05 14:36 ` Marco Roeland
2004-04-05 17:03 ` Max Valdez
2004-04-02 23:36 ` Andrew Morton
2004-04-05 10:47 ` Marco Fais
2004-04-05 10:56 ` Andrew Morton
2004-04-05 13:58 ` Marco Fais
2004-05-04 1:07 ` Marcelo Tosatti
2004-05-05 16:25 ` Carson Gaspar
2004-05-05 16:28 ` Marc-Christian Petersen
2004-05-05 18:35 ` Marcelo Tosatti
2004-05-19 11:59 ` Marcelo Tosatti
2004-05-19 15:50 ` Marc-Christian Petersen
2004-05-20 12:21 ` Marcelo Tosatti [this message]
2004-05-19 20:21 ` Carson Gaspar
-- strict thread matches above, loose matches on Subject: below --
2004-04-23 22:33 Carson Gaspar
2004-04-28 2:02 ` Jeff Moyer
2004-04-29 21:09 ` Marcelo Tosatti
2004-04-29 21:28 ` Andrew Morton
2004-04-29 22:49 ` Andrea Arcangeli
2004-04-29 23:26 ` Andrew Morton
2004-04-30 0:15 ` Andrea Arcangeli
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=20040520122131.GB18718@logos.cnet \
--to=marcelo.tosatti@cyclades.com \
--cc=carson@taltos.org \
--cc=linux-kernel@vger.kernel.org \
--cc=m.c.p@kernel.linux-systeme.com \
--cc=marco.fais@abbeynet.it \
/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