Date: Wed, 01 Jun 2011 15:00:51 +0200 From: Sergi <sergi@estrafolari.com> To: Kostik Belousov <kostikbel@gmail.com> Cc: freebsd-xen@freebsd.org Subject: Re: fpudna: fpcurthread == curthread XXXX times Message-ID: <4DE63803.7090504@estrafolari.com> In-Reply-To: <4DE60820.1080409@estrafolari.com> References: <4DE5EDD7.20105@estrafolari.com> <20110601082156.GB48734@deviant.kiev.zoral.com.ua> <4DE60820.1080409@estrafolari.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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-unsubscribe@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 = 0xffffffff8067865a rsp = 0xffffff8000000000 rbp = 0xffffff8000000040 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DE63803.7090504>