[Bug 233863] r345425 on PowerMac G5 may require kern.smp.disabled=1 and must set usefdt=1 which causes net interface reorder

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Apr 12 22:58:01 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233863

--- Comment #8 from Mark Millard <marklmi26-fbsd at yahoo.com> ---
Created attachment 203627
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=203627&action=edit
Patches for investigatory narrowing of slb race on AIM powerpc64:
aim/mp_cpudep.c and aim/slb.c

This pair of patches narrows the time period over which threads
from the stages:

        SI_SUB_KTHREAD_INIT     = 0xe000000,    /* init process*/
        SI_SUB_KTHREAD_PAGE     = 0xe400000,    /* pageout daemon*/
        SI_SUB_KTHREAD_VM       = 0xe800000,    /* vm daemon*/
        SI_SUB_KTHREAD_BUF      = 0xea00000,    /* buffer daemon*/
        SI_SUB_KTHREAD_UPDATE   = 0xec00000,    /* update daemon*/
        SI_SUB_KTHREAD_IDLE     = 0xee00000,    /* idle procs*/
#ifndef EARLY_AP_STARTUP
        SI_SUB_SMP              = 0xf000000,    /* start the APs*/
#endif 

can conflict with starting an AP via an slb replacement position
picked via expressions like mftb()%n_slbs . It does this by explicitly
picking and setting up a slot just before starting the AP.

(The AP has to be part way along before it can do its own
auto-slb-replacements from what I can tell.)

This does not remove the race and still does sometimes fail to
prevent getting a hang-up on a AP start. BUt it greatly decreased
the rate of hangups in my testing.

If EARLY_AP_STARTUP was supported and used, this would not be a
problem.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ppc mailing list