Date: Fri, 3 May 2019 02:24:05 -0700 From: Mark Millard <marklmi@yahoo.com> To: FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, Justin Hibbits <chmeeedalf@gmail.com> Subject: 970MP PowerMac G5s: What some basic printf's show about vt_upgrade and fhanew_init hang-ups Message-ID: <EEF5564B-F155-4A8E-9871-8465C94E5E6A@yahoo.com>
next in thread | raw e-mail | index | archive | help
[Note: I still have Justin's requested loop change, my isync additions, and my libc string compare code change in what I'm working with for head -r347003 . Also DELAY has the 2 priority-change calls commented out, per the prior list submittal about controlling cpu_mp_unleash hang-up behavior.] In /mnt/usr/src/sys/dev/vt/vt_core.c 's vt_upgrade, when it hangs up, the first printf below shows but the second one does not: callout_init_mtx(&vd->vd_timer, &vd->vd_lock, 0); printf("vt_upgrade after callout_init_mtx / before sequence leading to = callout_reset\n"); /* * Start timer when everything ready. * Note that the operations here are purposefully = ordered. * We need to ensure vd_timer_armed is non-zero before = we set * the VDF_ASYNC flag. That prevents this function from * racing with vt_resume_flush_timer() to update the * callout structure. */ atomic_add_acq_int(&vd->vd_timer_armed, 1); vd->vd_flags |=3D VDF_ASYNC; callout_reset(&vd->vd_timer, hz / VT_TIMERFREQ, = vt_timer, vd); printf("vt_upgrade after callout_reset\n"); In /mnt/usr/src/sys/fs/nfsserver/nfs_fha_new.c 's fhanew_init, when it hangs up, the first printf below shows but the second one does not: sysctl_ctx_init(&softc->sysctl_ctx); printf("fhanew_init: after sysctl_ctx_init / before SYSCTL_ADD_NODE\n"); softc->sysctl_tree =3D SYSCTL_ADD_NODE(&softc->sysctl_ctx, SYSCTL_STATIC_CHILDREN(_vfs_nfsd), OID_AUTO, "fha", = CTLFLAG_RD, 0, "NFS File Handle Affinity (FHA)"); printf("fhanew_init: after SYSCTL_ADD_NODE\n"); Ignoring cpu_mp_unleash, I've not run into other hang-up points in these or other routines. (cpu_mp_unleash has its own list submittal about controlling its hang-up behavior.) At this point I've no clue about controlling the behavior of the above 2 hang-up points. I've no evidence about if slb-misses are involved vs. not. I no longer have the other printf's that I'd added to the 2 routines, based on only seeing these hang-up points in each of the two (so far). =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EEF5564B-F155-4A8E-9871-8465C94E5E6A>