Re: [PATCH]IA64 kexec/kdump patch for INIT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Thanks for comments.
I'll reflect your comments and release new patch.

On Wed, 06 Sep 2006 16:47:51 +1200, Keith Owens wrote:

>>Current kdump uses simple IPI to stop cpus, so cpu does not stop
>>if the cpu disables interruption. INIT interruption is non-maskable and
>>it can stop cpus surely.
>
>You will get better results if you send a normal IPI first, wait a bit,
>then send a non-maskable INIT to just those cpus that have not
>responded.  Why?  Because INIT can catch the target cpu in any state,
>including down in prom in physical mode or in the assembler code that
>is busy saving the registers.  At that point you can forget about
>getting any useful backtrace on that cpu.  Sending a normal IPI first
>gives the target cpu a chance to get out of any critical section which
>gives you a much better backtrace.
>
>KDB has been using the dual interrupt method since March 2006 and it
>has significantly improved the diagnostics.  I am happy to work on
>common code that can be used by both kdump and kdb to handle stuck cpus
>and still get a reasonable backtrace.

I agree. I'm also happy if kdb and kdump share the code.
I'll check kdb code.


>>+		/* change region of gp to region5 */
>>+		asm volatile ("movl gp=__gp"::: "memory");
>
>Why?  gp is already pointing at the kernel code before we enter
>ia64_init_handler().

The purpose of this code is just changing region of gp from region7 to 
region5. For example, if gp is e000000004ace170, I want to change gp to
a000000104ace170, but I couldn't find good method. Is there good method
to change region?

Regards,
Takao Indoh

-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux