Messages in this thread | | | Subject | RE: possible CPU bug and request for Intel contacts | Date | Mon, 14 Feb 2005 08:55:05 -0800 | From | "Pallipadi, Venkatesh" <> |
| |
>-----Original Message----- >From: Ingo Molnar [mailto:mingo@elte.hu] >Sent: Sunday, February 13, 2005 12:10 PM >To: Seth, Rohit >Cc: Kirill Korotaev; Linus Torvalds; Saxena, Sunil; Pallipadi, >Venkatesh; Andrey Savochkin; linux-kernel@vger.kernel.org >Subject: Re: possible CPU bug and request for Intel contacts > > >* Seth, Rohit <rohit.seth@intel.com> wrote: > >> On a little different note, while running the 4G-4G kernel on our >> machine, we saw occasional hangs. Those are root caused to the fact >> that this kernel was first chaging the stack pointer from virtual >> stack to kernel and then changing the CR3 to that of kernel. Any >> interrupt between these two instructions will result in >those hangs as >> the interruption handler will execute with user's CR3(as the kernel >> thinks that it is already in kernel because of the value of esp). >> Swapping the order, first loading the CR3 with kernel and then >> switching the stack to kernel fixes this issue. Venki will generate >> that patch and send to lkml. > >i'm not sure what you mean. Here's the relevant 4:4 code from Fedora: > >#define __SWITCH_KERNELSPACE \ >... > movl %edx, %cr3; \ > movl %ebx, %esp; \ > >i.e. we _first_ load cr3 with the kernel pagetable value, then do we >switch esp to the real kernel stack. >
Yes. I verified that and that's the reason I didn't send any patch. But,
the kernel we were using in our testing of this bug, came from some earlier version of 4:4 code and had this cr3 switch and esp switch in reverse order.
With the latest kernels there is no issue related to this.
Thanks, Venki - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |