All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Travis <travis@sgi.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	Christoph Lameter <cl@linux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@elte.hu>,
	Andrew Morton <akpm@linux-foundation.org>,
	Jack Steiner <steiner@sgi.com>
Subject: Re: [crash, bisected] Re: [PATCH 3/4] x86_64: Fold pda into per cpu area
Date: Wed, 09 Jul 2008 07:37:22 -0700	[thread overview]
Message-ID: <4874CD22.20502@sgi.com> (raw)
In-Reply-To: <m1r6a4c5im.fsf@frodo.ebiederm.org>

Eric W. Biederman wrote:
> Mike Travis <travis@sgi.com> writes:
> 
>> Unfortunately it's back to the problem of faulting before x86_64_start_kernel()
>> and grub just immediately reboots.  So I'm back at analyzing assembler and
>> config differences.
> 
> Ok.  That is a narrow window of code.  So it shouldn't be too bad, nasty though.
> 
> If you would like to trace through it I have attached my serial port
> debugging routines that I use in that part of the code.
> 
> Eric
> 
> 

Very cool, thanks!!!  I will start using this.  (I have been using the trick
to replace printk with early_printk so messages come out immediately instead
of from the log buf.)

I've been able to make some more progress.  I've gotten to a point where it
panics from stack overflow.  I've verified this by bumping THREAD_ORDER and
it boots fine.  Now tracking down stack usages.  (I have found a couple of new
functions using set_cpus_allowed(..., CPU_MASK_ALL) instead of
set_cpus_allowed_ptr(... , CPU_MASK_ALL_PTR).  But these are not in the calling
sequence so subsequently are not the cause.

One weird thing is early_idt_handler seems to have been called and that's one
thing our simulator does not mimic for standard Intel FSB systems - early pending
interrupts.  (It's designed after all to mimic our h/w, and of course it's been
booting fine under that environment.) 

Two patches are in the queue to reduce this stack usage:

	Subject: [PATCH 1/1] sched: Reduce stack size in isolated_cpu_setup()
	Subject: [PATCH 1/1] kthread: Reduce stack pressure in create_kthread and kthreadd

The other stack pigs are:

1640 sched_domain_node_span
1576 tick_notify
1576 setup_IO_APIC_irq
1576 move_task_off_dead_cpu
1560 arch_setup_ht_irq
1560 __assign_irq_vector
1544 tick_handle_oneshot_broadcast
1352 zc0301_ioctl_v4l2
1336 i2o_cfg_compat_ioctl
1192 sn9c102_ioctl_v4l2
1176 __build_sched_domains
1152 e1000_check_options
1144 __build_all_zonelists
1128 setup_IO_APIC
1096 sched_balance_self
1096 _cpu_down
1080 do_ida_request
1064 sched_rt_period_timer
1064 native_smp_call_function_mask
1048 setup_timer_IRQ0_pin
1048 setup_ioapic_dest
1048 set_ioapic_affinity_irq
1048 set_ht_irq_affinity
1048 pci_device_probe
1048 native_machine_crash_shutdown
1032 tick_do_periodic_broadcast
1032 sched_setaffinity
1032 native_flush_tlb_others
1032 local_cpus_show
1032 local_cpulist_show
1032 irq_select_affinity
1032 irq_complete_move
1032 irq_affinity_write_proc
1032 ioapic_retrigger_irq
1032 flush_tlb_mm
1032 flush_tlb_current_task
1032 fixup_irqs
1032 do_cciss_request
1032 create_irq
1024 uv_vector_allocation_domain
1024 uv_send_IPI_allbutself
1024 smp_call_function_single
1024 smp_call_function
1024 physflat_send_IPI_allbutself
1024 pci_bus_show_cpuaffinity
1024 move_masked_irq
1024 flush_tlb_page
1024 flat_send_IPI_allbutself
1000 security_load_policy

Only a few of these though I would think might get called early in
the boot, that might also be contributing to the stack overflow.

Oh yeah, I looked very closely at the differences in the assembler
for vmlinux when compiled with 4.2.0 (fails) and 4.2.4 (which boots
with the above mentioned THREAD_ORDER change) and except for some
weirdness around ident_complete it seems to be the same code.  But
the per_cpu variables are in a completely different address order.
I wouldn't think that the -j10 for make could cause this but I can
verify that with -j1.  But in any case, I'm sticking with 4.2.4 for
now.

Thanks,
Mike

  parent reply	other threads:[~2008-07-09 14:37 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-04  0:30 [PATCH 0/4] percpu: Optimize percpu accesses Mike Travis
2008-06-04  0:30 ` [PATCH 1/4] Zero based percpu: Infrastructure to rebase the per cpu area to zero Mike Travis
2008-06-10 10:06   ` Ingo Molnar
2008-06-04  0:30 ` [PATCH 2/4] x86: Extend percpu ops to 64 bit Mike Travis
2008-06-10 10:04   ` Ingo Molnar
2008-06-04  0:30 ` [PATCH 3/4] x86_64: Fold pda into per cpu area Mike Travis
2008-06-04 12:59   ` Jeremy Fitzhardinge
2008-06-04 13:48     ` Mike Travis
2008-06-04 13:58       ` Jeremy Fitzhardinge
2008-06-04 14:17         ` Mike Travis
2008-06-09 23:18     ` Christoph Lameter
2008-06-05 10:22   ` [crash, bisected] " Ingo Molnar
2008-06-05 16:02     ` Mike Travis
2008-06-06  8:29       ` Jeremy Fitzhardinge
2008-06-06 13:15         ` Mike Travis
2008-06-18  5:34           ` Jeremy Fitzhardinge
2008-06-10 21:31     ` Mike Travis
2008-06-18 17:36       ` Jeremy Fitzhardinge
2008-06-18 18:17         ` Mike Travis
2008-06-18 18:33           ` Ingo Molnar
2008-06-18 19:33           ` Jeremy Fitzhardinge
     [not found]             ` <48596893.4040908@sgi.com>
     [not found]               ` <485AADAC.3070301@sgi.com>
     [not found]                 ` <485AB78B.5090904@goop.org>
     [not found]                   ` <485AC120.6010202@sgi.com>
     [not found]                     ` <485AC5D4.6040302@goop.org>
     [not found]                       ` <485ACA8F.10006@sgi.com>
     [not found]                         ` <485ACD92.8050109@sgi.com>
2008-06-19 21:35                           ` Jeremy Fitzhardinge
2008-06-19 21:54                             ` Jeremy Fitzhardinge
2008-06-19 22:13                             ` Mike Travis
2008-06-19 22:21                               ` Jeremy Fitzhardinge
2008-06-30 17:49                                 ` Mike Travis
2008-06-19 22:23                               ` Jeremy Fitzhardinge
     [not found]                                 ` <485BDB04.4090709@sgi.com>
2008-06-20 17:25                                   ` Jeremy Fitzhardinge
2008-06-20 17:48                                     ` Christoph Lameter
2008-06-20 18:30                                       ` Mike Travis
2008-06-20 18:40                                         ` Jeremy Fitzhardinge
2008-06-20 18:37                                       ` Jeremy Fitzhardinge
2008-06-20 18:51                                         ` Christoph Lameter
2008-06-20 19:04                                           ` Jeremy Fitzhardinge
2008-06-20 19:21                                             ` H. Peter Anvin
2008-06-20 19:43                                             ` Eric W. Biederman
2008-06-20 20:04                                               ` Mike Travis
2008-06-20 20:37                                                 ` Christoph Lameter
2008-06-20 19:06                                         ` Mike Travis
2008-06-20 20:25                                           ` Eric W. Biederman
2008-06-20 20:55                                             ` Christoph Lameter
2008-06-23 16:55                                             ` Mike Travis
2008-06-23 17:33                                               ` Jeremy Fitzhardinge
2008-06-23 18:04                                                 ` Mike Travis
2008-06-23 18:36                                                   ` Mike Travis
2008-06-23 19:41                                                     ` Jeremy Fitzhardinge
2008-06-24  0:02                                                       ` Mike Travis
2008-06-30 17:07                                             ` Mike Travis
2008-06-30 17:18                                               ` H. Peter Anvin
2008-06-30 17:57                                                 ` Mike Travis
2008-06-30 20:50                                                   ` Eric W. Biederman
2008-06-30 21:08                                                     ` Jeremy Fitzhardinge
2008-07-01  8:40                                                       ` Eric W. Biederman
2008-07-01 16:27                                                         ` Jeremy Fitzhardinge
2008-07-01 16:55                                                           ` Mike Travis
2008-07-01 16:56                                                         ` H. Peter Anvin
2008-07-01 17:26                                                           ` Jeremy Fitzhardinge
2008-07-01 20:40                                                             ` Eric W. Biederman
2008-07-01 21:10                                                               ` Jeremy Fitzhardinge
2008-07-01 21:39                                                                 ` Eric W. Biederman
2008-07-01 21:52                                                                   ` Jeremy Fitzhardinge
2008-07-02  0:20                                                                     ` H. Peter Anvin
2008-07-02  1:15                                                                       ` Mike Travis
2008-07-02  1:32                                                                         ` Eric W. Biederman
2008-07-02  1:51                                                                           ` Mike Travis
2008-07-02  2:50                                                                             ` Eric W. Biederman
2008-07-02  1:40                                                                         ` H. Peter Anvin
2008-07-02  1:44                                                                         ` Mike Travis
2008-07-02  1:45                                                                           ` H. Peter Anvin
2008-07-02  1:55                                                                             ` Mike Travis
2008-07-02 22:50                                                                             ` Mike Travis
2008-07-03  4:34                                                                               ` Eric W. Biederman
2008-07-07 17:17                                                                                 ` Mike Travis
2008-07-07 19:46                                                                                   ` Eric W. Biederman
2008-07-08 18:21                                                                                     ` Mike Travis
2008-07-08 23:36                                                                                       ` Eric W. Biederman
2008-07-08 23:49                                                                                         ` Jeremy Fitzhardinge
2008-07-09 14:39                                                                                           ` Mike Travis
2008-07-25 20:06                                                                                           ` Mike Travis
2008-07-25 20:12                                                                                             ` Jeremy Fitzhardinge
2008-07-25 20:34                                                                                               ` Mike Travis
2008-07-25 20:43                                                                                                 ` Jeremy Fitzhardinge
2008-07-25 21:05                                                                                                   ` Mike Travis
2008-07-09 14:37                                                                                         ` Mike Travis [this message]
2008-07-09 22:38                                                                                           ` Eric W. Biederman
2008-07-09 23:30                                                                                             ` Mike Travis
2008-07-10  0:04                                                                                               ` Eric W. Biederman
2008-07-02  2:01                                                                   ` H. Peter Anvin
2008-07-02  3:08                                                                     ` Eric W. Biederman
2008-07-01 21:11                                                               ` Andi Kleen
2008-07-01 21:42                                                                 ` Eric W. Biederman
2008-07-01 18:41                                                           ` Eric W. Biederman
2008-07-01 12:09                                                       ` Mike Travis
2008-07-01 11:49                                                     ` Mike Travis
2008-06-30 17:43                                               ` Jeremy Fitzhardinge
2008-06-04  0:30 ` [PATCH 4/4] x86: Replace xxx_pda() operations with x86_xx_percpu() Mike Travis
2008-06-09 13:03   ` Ingo Molnar
2008-06-09 16:08     ` Mike Travis
2008-06-09 17:36     ` Mike Travis
2008-06-09 18:20       ` Christoph Lameter
2008-06-09 23:29         ` Jeremy Fitzhardinge
2008-06-10 10:09       ` Ingo Molnar
2008-06-10 15:07         ` Mike Travis
2008-06-04 10:18 ` [PATCH] x86: collapse the various size-dependent percpu accessors together Jeremy Fitzhardinge
2008-06-04 10:45   ` Jeremy Fitzhardinge
2008-06-04 11:29     ` Ingo Molnar
2008-06-04 12:09       ` Jeremy Fitzhardinge
2008-06-10 17:21         ` Christoph Lameter

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=4874CD22.20502@sgi.com \
    --to=travis@sgi.com \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux-foundation.org \
    --cc=ebiederm@xmission.com \
    --cc=hpa@zytor.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=steiner@sgi.com \
    /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.