linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Whitcroft <apw@shadowen.org>
To: Eric Dumazet <dada1@cosmosbay.com>
Cc: Andrew Morton <akpm@osdl.org>,
	penberg@cs.helsinki.fi, linux-kernel@vger.kernel.org
Subject: Re: 2.6.16-rc1-mm3
Date: Fri, 27 Jan 2006 10:12:31 +0000	[thread overview]
Message-ID: <43D9F20F.1000906@shadowen.org> (raw)
In-Reply-To: <43D9B7AD.2030603@cosmosbay.com>

Eric Dumazet wrote:
> Andrew Morton a écrit :
> 
>> Andy Whitcroft <apw@shadowen.org> wrote:
>>
>>> Yes.  I think I have this one.  It appears that the patch below is the
>>>  trigger for all our recent panic woe's.  The last of the testing should
>>>  complete in the next few hours and I will be able to confirm that
>>>  hypothesis; results so far are all good.
>>>
>>>      reduce-size-of-percpudata-and-make-sure-per_cpuobject.patch
>>
>>
>> That patch did have some missed conversions, which might well explain the
>> crash.
>>
>> Thanks for narrowing it down - I'll keep that patch in next -mm (and will
>> include the known fixups).  Could you please boot test that?  If we're
>> still in trouble, I'll drop it.

Sounds eminently fair.  I think the patch has merit so now we know the
symptoms we can spent a little effort to get the kinks out.  Will test
the next -mm as a matter of course.


> The NULL choice was maybe wrong. We might need more than one page to
> fully catch all accesses. Something like 32KB.

The crash behavoir is handy to catch that the problem exists, and is
very cheap (0 cost) at run time.  However, once its known I think we
need something more targetted to allow tracking of the cause.  Perhaps
we could set the offset thingy to -1 or something and simply do
something like the following in per_cpu():

	if (__per_cpu_offset[i] == -1)
		BUG();
	else
		*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu])

> In the meantime could you apply this one ?
> 
> Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
> 
> 
> 
> ------------------------------------------------------------------------
> 
> --- a/arch/i386/kernel/nmi.c	2006-01-27 07:51:04.000000000 +0100
> +++ b/arch/i386/kernel/nmi.c	2006-01-27 07:52:14.000000000 +0100
> @@ -148,7 +148,7 @@
>  	if (nmi_watchdog == NMI_LOCAL_APIC)
>  		smp_call_function(nmi_cpu_busy, (void *)&endflag, 0, 0);
>  
> -	for (cpu = 0; cpu < NR_CPUS; cpu++)
> +	for_each_cpu(cpu)
>  		prev_nmi_count[cpu] = per_cpu(irq_stat, cpu).__nmi_count;
>  	local_irq_enable();
>  	mdelay((10*1000)/nmi_hz); // wait 10 ticks

No change to the panic's in alloc_slabmgmt.  A very quick review seems
to say that slab percpu data is actually not in percpu space, so that
seems a little odd.  Not had any real time to trace it further.

If you have any other missed ones than this send them along and I'll put
them through the mill.

-apw

  reply	other threads:[~2006-01-27 10:12 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-25  7:24 2.6.16-rc1-mm3 Andrew Morton
2006-01-25  8:38 ` [PATCH] convert a for (i = 0 ; i < NR_CPUS ; i++) to for_each_cpu(i) in sched_init() Eric Dumazet
2006-01-25  8:42   ` [PATCH, resent] " Eric Dumazet
2006-01-25  9:14     ` [PATCH] convert a for (i = 0 ; i < NR_CPUS ; i++) to for_each_cpu(i) in files_defer_init() Eric Dumazet
2006-01-25 12:01     ` [PATCH, resent] convert a for (i = 0 ; i < NR_CPUS ; i++) to for_each_cpu(i) in sched_init() Ingo Molnar
2006-01-25  9:01 ` [PATCH] mips: follow the change of split_page() Yoichi Yuasa
2006-01-25  9:16 ` 2.6.16-rc1-mm3: mips, sparc64 split_page breakage Alexey Dobriyan
2006-01-25  9:26 ` [PATCH -mm] Mark ppc_htab_operations as const Alexey Dobriyan
2006-01-25  9:32 ` [PATCH -mm] s390: dasd_eckd: add missing } Alexey Dobriyan
2006-01-25 10:44 ` 2.6.16-rc1-mm3 Reuben Farrelly
2006-01-26  5:39   ` [linux-usb-devel] 2.6.16-rc1-mm3 Greg KH
2006-01-27 12:46     ` Reuben Farrelly
2006-01-27 17:27       ` Greg KH
2006-01-27 17:49         ` 2.6.16-rc1-mm3 Pete Zaitcev
2006-01-27 19:40           ` 2.6.16-rc1-mm3 Reuben Farrelly
2006-01-27 19:57             ` 2.6.16-rc1-mm3 Pete Zaitcev
2006-01-25 11:40 ` 2.6.16-rc1-mm3 Michal Piotrowski
2006-01-25 15:59   ` 2.6.16-rc1-mm3 Nick Piggin
2006-01-26 19:02     ` 2.6.16-rc1-mm3 Michal Piotrowski
2006-01-26 19:47       ` 2.6.16-rc1-mm3 Nick Piggin
2006-01-26 19:50         ` 2.6.16-rc1-mm3 Nick Piggin
2006-01-27 10:11           ` 2.6.16-rc1-mm3 Michal Piotrowski
2006-02-01  8:30             ` 2.6.16-rc1-mm3 Nick Piggin
2006-02-01  8:51               ` 2.6.16-rc1-mm3 Andrew Morton
2006-02-02 21:06                 ` 2.6.16-rc1-mm3 Michal Piotrowski
2006-02-02 22:20                   ` 2.6.16-rc1-mm3 Andrew Morton
2006-02-02 23:48                     ` 2.6.16-rc1-mm3 Michal Piotrowski
2006-02-03  0:12                     ` 2.6.16-rc1-mm3 Michal Piotrowski
2006-01-26 19:58         ` 2.6.16-rc1-mm3 Michal Piotrowski
2006-01-25 14:06 ` 2.6.16-rc1-mm3 Andy Whitcroft
2006-01-25 14:44   ` 2.6.16-rc1-mm3 Pekka Enberg
2006-01-25 16:46     ` 2.6.16-rc1-mm3 Andy Whitcroft
2006-01-25 18:16       ` 2.6.16-rc1-mm3 Pekka Enberg
2006-01-25 21:06         ` 2.6.16-rc1-mm3 Andy Whitcroft
2006-01-26  7:03           ` 2.6.16-rc1-mm3 Pekka Enberg
2006-01-27  0:20             ` 2.6.16-rc1-mm3 Andy Whitcroft
2006-01-27  3:23               ` 2.6.16-rc1-mm3 Andrew Morton
2006-01-27  6:03                 ` 2.6.16-rc1-mm3 Eric Dumazet
2006-01-27 10:12                   ` Andy Whitcroft [this message]
2006-01-27 10:37                     ` 2.6.16-rc1-mm3 Eric Dumazet
2006-01-25 19:55 ` 2.6.16-rc1-mm3 / netfilter / firehol problems? thunder7
2006-01-25 20:59   ` Jiri Slaby
2006-01-26  8:29     ` Harald Welte
2006-01-26  5:29 ` [BUG] Invalid sleeping function call in 2.6.16-rc1-mm3 Peter Williams
2006-01-26 18:13 ` 2.6.16-rc1-mm3 (soft lockup) Dominik Karall
2006-01-26 19:01 ` 2.6.16-rc1-mm3 (psmouse.c) Dominik Karall
2006-01-26 22:23 ` [RFC: -mm patch] drivers/serial/jsm/: cleanups Adrian Bunk
2006-01-27 11:47 ` 2.6.16-rc1-mm3 Reuben Farrelly
2006-01-25 13:48 2.6.16-rc1-mm3 Alexander Gran
2006-01-25 17:21 ` 2.6.16-rc1-mm3 Andrew Morton
2006-01-26  1:48   ` 2.6.16-rc1-mm3 Alexander Gran

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=43D9F20F.1000906@shadowen.org \
    --to=apw@shadowen.org \
    --cc=akpm@osdl.org \
    --cc=dada1@cosmosbay.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=penberg@cs.helsinki.fi \
    /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;
as well as URLs for NNTP newsgroup(s).