Re: fpudna: fpcurthread == curthread XXXX times

2013-11-20 Thread Richard M. Timoney
Dear Yuriy,

I had the same issue although the details differ. (Operton
processor was common.)

At
http://lists.freebsd.org/pipermail/freebsd-xen/2013-February/001475.html

I explained the work-around I have in place, but I could boot 9.1 ok

Yours,

Richard

-- 
Richard M. Timoney
  (richa...@maths.tcd.ie)   Tel. +353-1-896 1196
School of Mathematics, Trinity College, Dublin 2, Ireland
WWW http://www.maths.tcd.ie/~richardt   FAX  +353-1-896 2282
___
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"


Re: fpudna: fpcurthread == curthread XXXX times

2013-11-18 Thread Yuriy Kohut
Hi,

I do have the same issue on 8.4-RELEASE, 9.1-RELEASE, 9.2-RELEASE based on 
XENHVM config (amd64). 

The 'uname' in the guests looks like this one:
root@my:/ # uname -a
FreeBSD my.vm 9.1-RELEASE FreeBSD 9.1-RELEASE #0: Mon Aug 19 14:08:42 EEST 2013 
r...@my.vm:/usr/obj/usr/src/sys/XENHVM  amd64

I could also confirm the issue doesn't affect 8.2 8.3, 9.0 versions.

The Hypervisor is "CentOS release 5.9" with Xen 3.4.3, and its details are:
# cat /proc/cpuinfo
...
processor   : 15
vendor_id   : AuthenticAMD
cpu family  : 16
model   : 9
model name  : AMD Opteron(tm) Processor 6128
stepping: 1
cpu MHz : 2000.140
cache size  : 512 KB
physical id : 15
siblings: 1
core id : 0
cpu cores   : 1
fpu : yes
fpu_exception   : yes
cpuid level : 5
wp  : yes
flags   : fpu de tsc msr pae mce cx8 apic mtrr mca cmov pat clflush mmx 
fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow constant_tsc pni 
cx16 popcnt lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse
bogomips: 5002.23
TLB size: 1024 4K pages
clflush size: 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc [6] [7] [8]


# xm info
host   : hv.build
release: 2.6.18-308.20.1.el5.xen
version: #1 SMP Wed Dec 5 13:30:38 GMT 2012
machine: x86_64
nr_cpus: 16
nr_nodes   : 1
cores_per_socket   : 8
threads_per_core   : 1
cpu_mhz: 2000
hw_caps: 
178bf3ff:efd3fbff::0310:00802001::000837ff:
virt_caps  : hvm
total_memory   : 49150
free_memory: 45664
node_to_cpu: node0:0-15
node_to_memory : node0:45664
xen_major  : 3
xen_minor  : 4
xen_extra  : .4
xen_caps   : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 
hvm-3.0-x86_32p hvm-3.0-x86_64 
xen_scheduler  : credit
xen_pagesize   : 4096
platform_params: virt_start=0x8000
xen_changeset  : unavailable
cc_compiler: gcc version 4.1.2 20080704 (Red Hat 4.1.2-52)
cc_compile_by  : root
cc_compile_domain  : hv.build
cc_compile_date: Wed Sep  5 18:01:10 EEST 2012
xend_config_format : 4

Could anybody please help/assist me with the issue fixing ?

Thanks
---
Yura

On Jun 2, 2011, at 10:22 PM, Sergi  wrote:

> On 01/06/11 23:36, Kostik Belousov wrote:
>> On Wed, Jun 01, 2011 at 03:00:51PM +0200, Sergi wrote:
>>   
>>> On 01/06/11 11:36, Sergi wrote:
>>> 
>>>> On 01/06/11 10:21, Kostik Belousov wrote:
>>>>   
>>>>> On Wed, Jun 01, 2011 at 09:44:23AM +0200, Sergi wrote:
>>>>> 
>>>>>> Hello,
>>>>>> 
>>>>>> I'm working with full virtual FreeBSD 8.2-RELEASE-p1 domU under debian
>>>>>> squeeze and xen-hypervisor-4.0-amd64.
>>>>>> 
>>>>>> If I cfg this hvm with cpu>   4 :
>>>>>> 
>>>>>>  vcpus= 5
>>>>>> 
>>>>>> these messages block the server :
>>>>>> 
>>>>>>  fpudna: fpcurthread == curthread  times
>>>>>> 
>>>>>> The machine is pingable but I'm unable to ssh to it.
>>>>>> 
>>>>>> On single user it works fine, fsck an so on ok, but when switching to
>>>>>> multiuser these fpudna messages start flooding.
>>>>>> 
>>>>>> I've googled but haven't found anything; something from 2005 about
>>>>>> fpudna :
>>>>>> 
>>>>>> 
>>>>>> http://lists.freebsd.org/pipermail/freebsd-amd64/2005-April/004413.html
>>>>>> 
>>>>>> and this link, but I don't have the options he mentions enabled on the
>>>>>> kernel :
>>>>>> 
>>>>>>  http://forums.freebsd.org/showthread.php?t=17979
>>>>>> 
>>>>>> Has anyone stepped on this behaviour before?, is there any workaround?
>>>>>> The machine really seems to detect cpu's available and responds to
>>>>>> keyboard
>>>>>> on VNC, but it's impossible to see whats written down because of the
>>>>>> messages flooding the screen.
>>>>>>   
>>>>> You did not specified the architecture of the domu. From the message,
>>>>> I can
>>>>> guess that your g

fpudna: fpcurthread == curthread XXXX times

2012-01-17 Thread Jeroen van der Ham
Hello,

I've been trying to compile a kernel for my FreeBSD9 XEN guest system using the 
provided XENHVM config. I found that that configuration works fine, unless you 
use a specific make.conf file.
When I used that make.conf file, booting from that kernel it spams the console 
with consecutive messages of: "fpudna: fpcurthread == curthread  times"

The make.conf file that I used is an adapted version of 
/usr/share/examples/etc/make.conf:

% diff /etc/make.conf /usr/share/examples/etc/make.conf
47c47
< CPUTYPE=opteron
---
> #CPUTYPE?=pentium3
61c61
< CFLAGS= -O2 -fno-strict-aliasing -pipe
---
> #CFLAGS= -O2 -fno-strict-aliasing -pipe
68c68
< CXXFLAGS+= -fconserve-space
---
> #CXXFLAGS+= -fconserve-space
185,190c185,190
< SUP=/usr/bin/csup
< SUPFLAGS=   -L 2
< SUPHOST=cvsup.uk.FreeBSD.org
< SUPFILE=/usr/share/examples/cvsup/standard-supfile
< PORTSSUPFILE=   /usr/share/examples/cvsup/ports-supfile
< DOCSUPFILE= /usr/share/examples/cvsup/doc-supfile
---
> #SUP=/usr/bin/csup
> #SUPFLAGS=   -L 2
> #SUPHOST=cvsup.uk.FreeBSD.org
> #SUPFILE=/usr/share/examples/cvsup/standard-supfile
> #PORTSSUPFILE=   /usr/share/examples/cvsup/ports-supfile
> #DOCSUPFILE= /usr/share/examples/cvsup/doc-supfile
287,289d286
< # added by use.perl 2012-01-16 21:35:36
< PERL_VERSION=5.12.4
< WITHOUT_X11=YES

Does anyone know what might cause this problem, and why it would not be caught 
earlier?

Jeroen.___
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"


Re: fpudna: fpcurthread == curthread XXXX times

2011-06-02 Thread Sergi

On 01/06/11 23:36, Kostik Belousov wrote:

On Wed, Jun 01, 2011 at 03:00:51PM +0200, Sergi wrote:
   

On 01/06/11 11:36, Sergi wrote:
 

On 01/06/11 10:21, Kostik Belousov wrote:
   

On Wed, Jun 01, 2011 at 09:44:23AM +0200, Sergi wrote:
 

Hello,

I'm working with full virtual FreeBSD 8.2-RELEASE-p1 domU under debian
squeeze and xen-hypervisor-4.0-amd64.

If I cfg this hvm with cpu>   4 :

  vcpus= 5

these messages block the server :

  fpudna: fpcurthread == curthread XXXX times

The machine is pingable but I'm unable to ssh to it.

On single user it works fine, fsck an so on ok, but when switching to
multiuser these fpudna messages start flooding.

I've googled but haven't found anything; something from 2005 about
fpudna :


http://lists.freebsd.org/pipermail/freebsd-amd64/2005-April/004413.html

and this link, but I don't have the options he mentions enabled on the
kernel :

  http://forums.freebsd.org/showthread.php?t=17979

Has anyone stepped on this behaviour before?, is there any workaround?
The machine really seems to detect cpu's available and responds to
keyboard
on VNC, but it's impossible to see whats written down because of the
messages flooding the screen.
   

You did not specified the architecture of the domu. From the message,
I can
guess that your guest is running amd64 kernel. There are slight
differences
in the handling of the FPU in i386 and amd64 that may matter there.

The message you reported means that the FreeBSD kernel assumes that FPU
is currently loaded with the context of the current thread, but the
CR0.TS bit is set, meaning that FPU context is set for switch.

AFAIR, HVM means that you run bare-metal kernel, right ? Most likely,
it is some issue with Xen itself. I am curious whether the following
will cause any usermode-visible regression for you:

diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c
index 08e5e57..a5ee853 100644
--- a/sys/amd64/amd64/fpu.c
+++ b/sys/amd64/amd64/fpu.c
@@ -394,14 +394,8 @@ fpudna(void)
  struct pcb *pcb;

  critical_enter();
-if (PCPU_GET(fpcurthread) == curthread) {
-printf("fpudna: fpcurthread == curthread %d times\n",
-++err_count);
-stop_emulating();
-critical_exit();
-return;
-}
-if (PCPU_GET(fpcurthread) != NULL) {
+if (PCPU_GET(fpcurthread) != NULL&&
+PCPU_GET(fpcurthread) != curthread) {
  printf("fpudna: fpcurthread = %p (%d), curthread = %p (%d)\n",
 PCPU_GET(fpcurthread),
 PCPU_GET(fpcurthread)->td_proc->p_pid,
 

Hello,

yes, sorry, amd64, and yes, hvm hardware virtual machine, not
paravirtual.

So, you mean patching fpu.c and recompiling the kernel, right?, I'm
new to modifiying src files.

Thanks for your help,
Sergi


___
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"

   

Hello,

well, I patched fpu.c, recompiled the kernel, and booted ok with 4 vcpu.
Then I tried to boot with 5 vcpus and got :

kernel trap 22 with interrupts disabled
...
kernel trap 22 with interrupts disabled
Fatal double fault
rip = 0x8067865a
rsp = 0xff80
rbp = 0xff800040
cpuid = 4; apic id = 08
panic: double fault
cpuid = 4

4 vcpus is the maximum number of vcpus I can use.

How do you think I can debug this in order to provide more information?
 

At least you can add KDB/DDB to the kernel config and get a backtrace
at panic.

My feeling right now is that the issue is in the hypervisor, and not in
the kernel.
   

Hello,

well, I'll try to add debugging to the kernel and see if I get somewhere.

I'll post on the xen-user mailing-list to see if there is some issue 
known in the hypervisor.


It's strange that nobody in this list has had this same issue.

Thanks for your help,
regards,
Sergi
___
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"


Re: fpudna: fpcurthread == curthread XXXX times

2011-06-01 Thread Kostik Belousov
On Wed, Jun 01, 2011 at 03:00:51PM +0200, Sergi wrote:
> On 01/06/11 11:36, Sergi wrote:
> >On 01/06/11 10:21, Kostik Belousov wrote:
> >>On Wed, Jun 01, 2011 at 09:44:23AM +0200, Sergi wrote:
> >>>Hello,
> >>>
> >>>I'm working with full virtual FreeBSD 8.2-RELEASE-p1 domU under debian
> >>>squeeze and xen-hypervisor-4.0-amd64.
> >>>
> >>>If I cfg this hvm with cpu>  4 :
> >>>
> >>>  vcpus= 5
> >>>
> >>>these messages block the server :
> >>>
> >>>  fpudna: fpcurthread == curthread  times
> >>>
> >>>The machine is pingable but I'm unable to ssh to it.
> >>>
> >>>On single user it works fine, fsck an so on ok, but when switching to
> >>>multiuser these fpudna messages start flooding.
> >>>
> >>>I've googled but haven't found anything; something from 2005 about 
> >>>fpudna :
> >>>
> >>>  
> >>>http://lists.freebsd.org/pipermail/freebsd-amd64/2005-April/004413.html
> >>>
> >>>and this link, but I don't have the options he mentions enabled on the
> >>>kernel :
> >>>
> >>>  http://forums.freebsd.org/showthread.php?t=17979
> >>>
> >>>Has anyone stepped on this behaviour before?, is there any workaround?
> >>>The machine really seems to detect cpu's available and responds to 
> >>>keyboard
> >>>on VNC, but it's impossible to see whats written down because of the
> >>>messages flooding the screen.
> >>You did not specified the architecture of the domu. From the message, 
> >>I can
> >>guess that your guest is running amd64 kernel. There are slight 
> >>differences
> >>in the handling of the FPU in i386 and amd64 that may matter there.
> >>
> >>The message you reported means that the FreeBSD kernel assumes that FPU
> >>is currently loaded with the context of the current thread, but the
> >>CR0.TS bit is set, meaning that FPU context is set for switch.
> >>
> >>AFAIR, HVM means that you run bare-metal kernel, right ? Most likely,
> >>it is some issue with Xen itself. I am curious whether the following
> >>will cause any usermode-visible regression for you:
> >>
> >>diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c
> >>index 08e5e57..a5ee853 100644
> >>--- a/sys/amd64/amd64/fpu.c
> >>+++ b/sys/amd64/amd64/fpu.c
> >>@@ -394,14 +394,8 @@ fpudna(void)
> >>  struct pcb *pcb;
> >>
> >>  critical_enter();
> >>-if (PCPU_GET(fpcurthread) == curthread) {
> >>-printf("fpudna: fpcurthread == curthread %d times\n",
> >>-++err_count);
> >>-stop_emulating();
> >>-critical_exit();
> >>-return;
> >>-}
> >>-if (PCPU_GET(fpcurthread) != NULL) {
> >>+if (PCPU_GET(fpcurthread) != NULL&&
> >>+PCPU_GET(fpcurthread) != curthread) {
> >>  printf("fpudna: fpcurthread = %p (%d), curthread = %p (%d)\n",
> >> PCPU_GET(fpcurthread),
> >> PCPU_GET(fpcurthread)->td_proc->p_pid,
> >Hello,
> >
> >yes, sorry, amd64, and yes, hvm hardware virtual machine, not 
> >paravirtual.
> >
> >So, you mean patching fpu.c and recompiling the kernel, right?, I'm 
> >new to modifiying src files.
> >
> >Thanks for your help,
> >Sergi
> >
> >
> >___
> >freebsd-xen@freebsd.org mailing list
> >http://lists.freebsd.org/mailman/listinfo/freebsd-xen
> >To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"
> >
> Hello,
> 
> well, I patched fpu.c, recompiled the kernel, and booted ok with 4 vcpu.
> Then I tried to boot with 5 vcpus and got :
> 
> kernel trap 22 with interrupts disabled
> ...
> kernel trap 22 with interrupts disabled
> Fatal double fault
> rip = 0x8067865a
> rsp = 0xff80
> rbp = 0xff800040
> cpuid = 4; apic id = 08
> panic: double fault
> cpuid = 4
> 
> 4 vcpus is the maximum number of vcpus I can use.
> 
> How do you think I can debug this in order to provide more information?

At least you can add KDB/DDB to the kernel config and get a backtrace
at panic.

My feeling right now is that the issue is in the hypervisor, and not in
the kernel.


pgpjK651DRhD4.pgp
Description: PGP signature


Re: fpudna: fpcurthread == curthread XXXX times

2011-06-01 Thread Sergi

On 01/06/11 11:36, Sergi wrote:

On 01/06/11 10:21, Kostik Belousov wrote:

On Wed, Jun 01, 2011 at 09:44:23AM +0200, Sergi wrote:

Hello,

I'm working with full virtual FreeBSD 8.2-RELEASE-p1 domU under debian
squeeze and xen-hypervisor-4.0-amd64.

If I cfg this hvm with cpu>  4 :

  vcpus= 5

these messages block the server :

  fpudna: fpcurthread == curthread XXXX times

The machine is pingable but I'm unable to ssh to it.

On single user it works fine, fsck an so on ok, but when switching to
multiuser these fpudna messages start flooding.

I've googled but haven't found anything; something from 2005 about 
fpudna :


  
http://lists.freebsd.org/pipermail/freebsd-amd64/2005-April/004413.html


and this link, but I don't have the options he mentions enabled on the
kernel :

  http://forums.freebsd.org/showthread.php?t=17979

Has anyone stepped on this behaviour before?, is there any workaround?
The machine really seems to detect cpu's available and responds to 
keyboard

on VNC, but it's impossible to see whats written down because of the
messages flooding the screen.
You did not specified the architecture of the domu. From the message, 
I can
guess that your guest is running amd64 kernel. There are slight 
differences

in the handling of the FPU in i386 and amd64 that may matter there.

The message you reported means that the FreeBSD kernel assumes that FPU
is currently loaded with the context of the current thread, but the
CR0.TS bit is set, meaning that FPU context is set for switch.

AFAIR, HVM means that you run bare-metal kernel, right ? Most likely,
it is some issue with Xen itself. I am curious whether the following
will cause any usermode-visible regression for you:

diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c
index 08e5e57..a5ee853 100644
--- a/sys/amd64/amd64/fpu.c
+++ b/sys/amd64/amd64/fpu.c
@@ -394,14 +394,8 @@ fpudna(void)
  struct pcb *pcb;

  critical_enter();
-if (PCPU_GET(fpcurthread) == curthread) {
-printf("fpudna: fpcurthread == curthread %d times\n",
-++err_count);
-stop_emulating();
-critical_exit();
-return;
-}
-if (PCPU_GET(fpcurthread) != NULL) {
+if (PCPU_GET(fpcurthread) != NULL&&
+PCPU_GET(fpcurthread) != curthread) {
  printf("fpudna: fpcurthread = %p (%d), curthread = %p (%d)\n",
 PCPU_GET(fpcurthread),
 PCPU_GET(fpcurthread)->td_proc->p_pid,

Hello,

yes, sorry, amd64, and yes, hvm hardware virtual machine, not 
paravirtual.


So, you mean patching fpu.c and recompiling the kernel, right?, I'm 
new to modifiying src files.


Thanks for your help,
Sergi


___
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"


Hello,

well, I patched fpu.c, recompiled the kernel, and booted ok with 4 vcpu.
Then I tried to boot with 5 vcpus and got :

kernel trap 22 with interrupts disabled
...
kernel trap 22 with interrupts disabled
Fatal double fault
rip = 0x8067865a
rsp = 0xff80
rbp = 0xff800040
cpuid = 4; apic id = 08
panic: double fault
cpuid = 4

4 vcpus is the maximum number of vcpus I can use.

How do you think I can debug this in order to provide more information?

Thanks,
regards,
Sergi
___
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"


Re: fpudna: fpcurthread == curthread XXXX times

2011-06-01 Thread Sergi

On 01/06/11 10:21, Kostik Belousov wrote:

On Wed, Jun 01, 2011 at 09:44:23AM +0200, Sergi wrote:
   

Hello,

I'm working with full virtual FreeBSD 8.2-RELEASE-p1 domU under debian
squeeze and xen-hypervisor-4.0-amd64.

If I cfg this hvm with cpu>  4 :

  vcpus= 5

these messages block the server :

  fpudna: fpcurthread == curthread XXXX times

The machine is pingable but I'm unable to ssh to it.

On single user it works fine, fsck an so on ok, but when switching to
multiuser these fpudna messages start flooding.

I've googled but haven't found anything; something from 2005 about fpudna :

  http://lists.freebsd.org/pipermail/freebsd-amd64/2005-April/004413.html

and this link, but I don't have the options he mentions enabled on the
kernel :

  http://forums.freebsd.org/showthread.php?t=17979

Has anyone stepped on this behaviour before?, is there any workaround?
The machine really seems to detect cpu's available and responds to keyboard
on VNC, but it's impossible to see whats written down because of the
messages flooding the screen.
 

You did not specified the architecture of the domu. From the message, I can
guess that your guest is running amd64 kernel. There are slight differences
in the handling of the FPU in i386 and amd64 that may matter there.

The message you reported means that the FreeBSD kernel assumes that FPU
is currently loaded with the context of the current thread, but the
CR0.TS bit is set, meaning that FPU context is set for switch.

AFAIR, HVM means that you run bare-metal kernel, right ? Most likely,
it is some issue with Xen itself. I am curious whether the following
will cause any usermode-visible regression for you:

diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c
index 08e5e57..a5ee853 100644
--- a/sys/amd64/amd64/fpu.c
+++ b/sys/amd64/amd64/fpu.c
@@ -394,14 +394,8 @@ fpudna(void)
struct pcb *pcb;

critical_enter();
-   if (PCPU_GET(fpcurthread) == curthread) {
-   printf("fpudna: fpcurthread == curthread %d times\n",
-   ++err_count);
-   stop_emulating();
-   critical_exit();
-   return;
-   }
-   if (PCPU_GET(fpcurthread) != NULL) {
+   if (PCPU_GET(fpcurthread) != NULL&&
+   PCPU_GET(fpcurthread) != curthread) {
printf("fpudna: fpcurthread = %p (%d), curthread = %p (%d)\n",
   PCPU_GET(fpcurthread),
   PCPU_GET(fpcurthread)->td_proc->p_pid,
   

Hello,

yes, sorry, amd64, and yes, hvm hardware virtual machine, not paravirtual.

So, you mean patching fpu.c and recompiling the kernel, right?, I'm new 
to modifiying src files.


Thanks for your help,
Sergi


___
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"


Re: fpudna: fpcurthread == curthread XXXX times

2011-06-01 Thread Kostik Belousov
On Wed, Jun 01, 2011 at 09:44:23AM +0200, Sergi wrote:
> Hello,
> 
> I'm working with full virtual FreeBSD 8.2-RELEASE-p1 domU under debian 
> squeeze and xen-hypervisor-4.0-amd64.
> 
> If I cfg this hvm with cpu > 4 :
> 
>  vcpus= 5
> 
> these messages block the server :
> 
>  fpudna: fpcurthread == curthread  times
> 
> The machine is pingable but I'm unable to ssh to it.
> 
> On single user it works fine, fsck an so on ok, but when switching to 
> multiuser these fpudna messages start flooding.
> 
> I've googled but haven't found anything; something from 2005 about fpudna :
> 
>  http://lists.freebsd.org/pipermail/freebsd-amd64/2005-April/004413.html
> 
> and this link, but I don't have the options he mentions enabled on the 
> kernel :
> 
>  http://forums.freebsd.org/showthread.php?t=17979
> 
> Has anyone stepped on this behaviour before?, is there any workaround?
> The machine really seems to detect cpu's available and responds to keyboard 
> on VNC, but it's impossible to see whats written down because of the 
> messages flooding the screen.

You did not specified the architecture of the domu. From the message, I can
guess that your guest is running amd64 kernel. There are slight differences
in the handling of the FPU in i386 and amd64 that may matter there.

The message you reported means that the FreeBSD kernel assumes that FPU
is currently loaded with the context of the current thread, but the
CR0.TS bit is set, meaning that FPU context is set for switch.

AFAIR, HVM means that you run bare-metal kernel, right ? Most likely,
it is some issue with Xen itself. I am curious whether the following
will cause any usermode-visible regression for you:

diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c
index 08e5e57..a5ee853 100644
--- a/sys/amd64/amd64/fpu.c
+++ b/sys/amd64/amd64/fpu.c
@@ -394,14 +394,8 @@ fpudna(void)
struct pcb *pcb;
 
critical_enter();
-   if (PCPU_GET(fpcurthread) == curthread) {
-   printf("fpudna: fpcurthread == curthread %d times\n",
-   ++err_count);
-   stop_emulating();
-   critical_exit();
-   return;
-   }
-   if (PCPU_GET(fpcurthread) != NULL) {
+   if (PCPU_GET(fpcurthread) != NULL &&
+   PCPU_GET(fpcurthread) != curthread) {
printf("fpudna: fpcurthread = %p (%d), curthread = %p (%d)\n",
   PCPU_GET(fpcurthread),
   PCPU_GET(fpcurthread)->td_proc->p_pid,


pgpf3sgpcr03S.pgp
Description: PGP signature


fpudna: fpcurthread == curthread XXXX times

2011-06-01 Thread Sergi

Hello,

I'm working with full virtual FreeBSD 8.2-RELEASE-p1 domU under debian squeeze 
and xen-hypervisor-4.0-amd64.

If I cfg this hvm with cpu > 4 :

 vcpus= 5

these messages block the server :

 fpudna: fpcurthread == curthread XXXX times

The machine is pingable but I'm unable to ssh to it.

On single user it works fine, fsck an so on ok, but when switching to multiuser 
these fpudna messages start flooding.

I've googled but haven't found anything; something from 2005 about fpudna :

 http://lists.freebsd.org/pipermail/freebsd-amd64/2005-April/004413.html

and this link, but I don't have the options he mentions enabled on the kernel :

 http://forums.freebsd.org/showthread.php?t=17979

Has anyone stepped on this behaviour before?, is there any workaround?
The machine really seems to detect cpu's available and responds to keyboard on 
VNC, but it's impossible to see whats written down because of the messages 
flooding the screen.

Thanks,
regards,
Sergi
___
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"