lkml.org 
[lkml]   [2005]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRE: possible CPU bug and request for Intel contacts
Date
From

>-----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/

\
 
 \ /
  Last update: 2005-03-22 14:10    [W:0.028 / U:0.204 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site