From: george anzinger <george@mvista.com>
To: Zwane Mwaikambo <zwane@linuxpower.ca>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: odd memory corruption in 2.5.27?
Date: Tue, 23 Jul 2002 13:32:11 -0700 [thread overview]
Message-ID: <3D3DBD4B.4EFD3543@mvista.com> (raw)
In-Reply-To: Pine.LNX.4.44.0207231053190.32636-100000@linux-box.realnet.co.sz
Zwane Mwaikambo wrote:
>
> On Tue, 23 Jul 2002, Trond Myklebust wrote:
>
> > Just means that some RPC message reply from the server was crap. We should
> > deal fine with that sort of thing...
> >
> > AFAICS The Oops itself happened deep down in the socket layer in the part
> > which has to do with reassembling fragments into packets. The garbage
> > collector tried to release a fragment that had timed out and Oopsed.
> >
> > Suggests either memory corruption or else that the networking driver is doing
> > something odd ('cos at that point in the socket layer *only* the driver + the
> > fragment handler should have touched the skb).
>
> Thanks, that helps quite a bit, i'll see if i can pinpoint it and send it
> to the relevant people.
>
I just spent a month tracking down this issue. It comes
down to the slab allocater using per cpu data structures and
protecting them with a combination of interrupt disables and
spin_locks. Preemption is allowed (incorrectly) if
interrupts are off and preempt_count goes to zero on the
spin_unlock. I will wager that this is an SMP machine.
After the preemption interrupts will be on (schedule() does
that) AND you could be on a different cpu. Either of these
is a BAD thing.
The proposed fix is to catch the attempted preemption in
preempt_schedule() and just return if the interrupt system
is off. (Of course there is more that this to it, but I do
believe that the problem is known. You could blow this
assertion out of the water by asserting that the machine is
NOT smp.)
--
George Anzinger george@mvista.com
High-res-timers:
http://sourceforge.net/projects/high-res-timers/
Real time sched: http://sourceforge.net/projects/rtsched/
Preemption patch:
http://www.kernel.org/pub/linux/kernel/people/rml
next prev parent reply other threads:[~2002-07-23 20:29 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-23 6:23 odd memory corruption in 2.5.27? Zwane Mwaikambo
2002-07-23 6:24 ` Zwane Mwaikambo
2002-07-23 6:26 ` Zwane Mwaikambo
2002-07-23 7:57 ` Trond Myklebust
2002-07-23 8:54 ` Zwane Mwaikambo
2002-07-23 20:32 ` george anzinger [this message]
2002-07-23 20:47 ` William Lee Irwin III
2002-07-23 23:28 ` [patch] irqlock patch -G3. [was Re: odd memory corruption in 2.5.27?] Ingo Molnar
2002-07-23 23:53 ` george anzinger
2002-07-23 23:56 ` Linus Torvalds
2002-07-24 0:07 ` Ingo Molnar
2002-07-24 2:15 ` Linus Torvalds
2002-07-24 8:59 ` [patch] irqlock patch 2.5.27-H3 Ingo Molnar
2002-07-24 1:08 ` [patch] irqlock patch -G3. [was Re: odd memory corruption in 2.5.27?] Robert Love
2002-07-24 3:13 ` [patch] irqlock patch -G3. [was Re: odd memory corruption in2.5.27?] Andrew Morton
2002-07-24 3:18 ` Linus Torvalds
2002-07-24 7:13 ` Ingo Molnar
2002-07-24 7:34 ` Ingo Molnar
2002-07-24 8:00 ` [patch] irqlock patch -G3. [was Re: odd memory corruptionin2.5.27?] Andrew Morton
2002-07-24 7:54 ` Ingo Molnar
2002-07-24 8:03 ` William Lee Irwin III
2002-07-24 8:06 ` Ingo Molnar
2002-07-24 8:15 ` William Lee Irwin III
2002-07-24 8:17 ` Ingo Molnar
2002-07-24 16:40 ` Linus Torvalds
2002-07-24 16:49 ` Robert Love
2002-07-24 20:56 ` [patch] irqlock patch -G3. [was Re: odd memorycorruptionin2.5.27?] george anzinger
2002-07-24 7:37 ` [patch] irqlock patch -G3. [was Re: odd memory corruption in2.5.27?] Ingo Molnar
2002-07-24 6:52 ` odd memory corruption in 2.5.27? Zwane Mwaikambo
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=3D3DBD4B.4EFD3543@mvista.com \
--to=george@mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=trond.myklebust@fys.uio.no \
--cc=zwane@linuxpower.ca \
/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.