FreeBSD 9.1 and Xen 4.0?

Richard M. Timoney richardt at maths.tcd.ie
Tue Feb 12 21:26:36 UTC 2013


Dear Jeroen,

With regard to the problem of 

> This boots, and then goes into a loop printing "pudna: fpcurthread ==
> curthread xx times" when it tries to mount the filesystem.

I had a similar issue with 8.3 and I found that the change that
precipitated it was r241253, a change to sys/kern/sched_ule.c that really
seemed to have nothing to do with the symptoms.

http://svnweb.freebsd.org/base?view=revision&revision=241253

However, in my case FreeBSD 9.1 would boot (the one I tried was
kernel_9.1_r244394).

My Dom0 is a Dell R815 (which has AMD processors) and I don't see the
issue on a Dell 2900 (which has Intel CPUs and a slightly older Xen).
The newer version is using package xen-hypervisor 4.0.1-4 , while
the older is 4.0.1-2.

I have found a work-around (for 8.3) that involves putting code in
sched_ule.c that does nothing really useful and nothing at all once the
system is running for any length of time. But it seems to get the thing
to boot, and then stuff seems stable after that.

Here is the diff I am using now:

============================
svn diff sys/kern/sched_ule.c 
Index: sys/kern/sched_ule.c
===================================================================
--- sys/kern/sched_ule.c        (revision 246597)
+++ sys/kern/sched_ule.c        (working copy)
@@ -1848,6 +1848,7 @@
        struct td_sched *ts;
        struct mtx *mtx;
        int srqflag;
+       static int sched_switch_num_times=0;
        int cpuid, preempted;
 
        THREAD_LOCK_ASSERT(td, MA_OWNED);
@@ -1949,6 +1950,10 @@
        TDQ_LOCK_ASSERT(tdq, MA_OWNED|MA_NOTRECURSED);
        MPASS(td->td_lock == TDQ_LOCKPTR(tdq));
        td->td_oncpu = cpuid;
+if (sched_switch_num_times < 5000) {
+      ++sched_switch_num_times;
+      sscanf("5", "%d", &cpuid);
+ }
 }
 
 /*

============================

It would be nice to know what the actual problem is, because the
fix makes no real sense to me (and seems to have nothing to do with
the code where the fpudna message is generated.

I could see some mention of a symptom like this some years ago, but none
recently. I suppose it is somehow reassuring that more than one
person has the issue.

Yours,

Richard

-- 
Richard M. Timoney
		  (richardt at 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


More information about the freebsd-xen mailing list