Re: [PATCH]send slave cpus to SAL slave loop on crash (IA64)

From: Jay Lan <>
Date: 2006-11-11 06:23:28
Zou, Nanhai wrote:
>>>  But this will rely on machine crash on CPU 0?
>> We do not rely on machine crash on CPU 0 any more. If the
>> crashing CPU is not cpu 0 and the cpu 0 not being returned to
>> the slave loop, this case is handled by our PROM now.
>> However, if somebody tries to boot up a production kernel using '-le'
>> option _after_ the kexec'ed kernel is up running, the third kernel
>> would not boot unless we boot up the second kernel with cpu 0. I
>> posted a question on "if running 'kexec -le' on a kexec'ed kdump
>> kernel is legal" earlier and Vivek responded saying the scenario
>> is not guranteed to work. So, i think we are fine here.
>   Ok, so with this patch and the PROM fix, on a SN system,
>   1. Kdump -> 2nd kernel works.
>   2. Kdump -> 2nd kernel -> Kexec to third kernel will not work.
>   3. Kexec -> 2nd Kernel -> Kexec -> 3rd kernel works?
>   4. Kexec -> 2nd Kernel -> Kdump -> 3rd kernel works?
>   I think if scenario 1, 3 and 4 works it will be ok. Scenario 2 is not so useful I guess.

Hi Nanhai,

Where do we stand as to this patch's concern? Did you include this yet?

As to Scenario 3 and 4, 'kexec -l' failed on "Inivalid memory segment"
on SN Altix systems, and i have not had time to dig into it. This patch
is pretty much doing what you suggested "calling ia64_jump_to_sal"
to send the cpus to slave loop.

We can include cpu 0 also by calling fix_b0_for)bsp() to set up b0
for cpu 0 in ia64_mca_init(), if so desired. What do you think?

 - jay

[root@pogo1 boot]# /home/jlan/kexec-noio -l /boot/vmlinuz-2.6.18-kdump
--noio -
-initrd=/boot/initrd-2.6.18-kdump --append="root=/dev/sdb6 irqpoll ro
Done with process_options
kernel: 0x2000000000328010 kernel_size: 3502601
memory_range: crashk, idx=5, start=3018000000, end=3028000000
memory_range: Boot, idx=7, start=307a280010, end=307a280061
memory_range: MemoryMap, idx=9, start=307a3f0010, end=307a3f0611
build_mem_shdrs: ei_class=2, e_shnum=46, e_shoff=54506776
build_mem_shdrs: sizeof(e_shdr)=72, e_shdr=0x6000000000014120
ready to load. type=0,
build_mem_shdrs: ei_class=2, e_shnum=46, e_shoff=54506776
build_mem_shdrs: sizeof(e_shdr)=72, e_shdr=0x6000000000014f30
Invalid memory segment 0x4000000 - 0x4997fff
Segmentation fault
[root@pogo1 boot]#

To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to
More majordomo info at
Received on Sat Nov 11 06:22:43 2006

This archive was generated by hypermail 2.1.8 : 2006-11-11 06:22:59 EST