970MP PowerMac G5s: What some basic printf's show about vt_upgrade and fhanew_init hang-ups

Mark Millard via freebsd-ppc <[email protected]>
Newsgroups gmane.os.freebsd.devel.ppc
Message-ID <[email protected]>
[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 |= 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 = 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).


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.