Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Apr 2019 06:06:37 +0000
From:      bugzilla-noreply@freebsd.org
To:        ppc@FreeBSD.org
Subject:   [Bug 233863] r345425 on PowerMac G5 may require kern.smp.disabled=1 and must set usefdt=1 which causes net interface reorder
Message-ID:  <bug-233863-21-yq0YCgEFwn@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-233863-21@https.bugs.freebsd.org/bugzilla/>
References:  <bug-233863-21@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D233863

--- Comment #25 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
(In reply to Mark Millard from comment #24)

As for the usefdt mode G3 exploration:

The debug kernel did not report anything special.
Disabling swap made no general change to the
behaviors.

An interesting comparison is:

Under the debug kernel I got a machine check, reported
to be at the end of:

<moea_pvo_enter+0xbc> bl      00503bf0 <__mtx_lock_flags>
<moea_pvo_enter+0xc0> rlwinm  r26,r21,2,0,29
<moea_pvo_enter+0xc4> lwz     r9,-32748(r30)
<moea_pvo_enter+0xc8> lwz     r9,0(r9)
<moea_pvo_enter+0xcc> lwzx    r29,r26,r9
<moea_pvo_enter+0xd0> cmpwi   cr7,r29,0
<moea_pvo_enter+0xd4> beq-    cr7,008e9c8c <moea_pvo_enter+0x19c>
<moea_pvo_enter+0xd8> lwz     r0,52(r29)
<moea_pvo_enter+0xdc> cmpw    cr7,r0,r28

(But machine-checks are imprecise.)

Under a non-debug kernel I got a Data Storage Interrupt,
reported to be at the end of:

<moea_pvo_enter+0x110> bl      0054da44 <__mtx_lock_sleep>
<moea_pvo_enter+0x114> rlwinm  r26,r21,2,0,29
<moea_pvo_enter+0x118> lwz     r9,-32744(r30)
<moea_pvo_enter+0x11c> lwz     r9,0(r9)
<moea_pvo_enter+0x120> lwzx    r29,r26,r9
<moea_pvo_enter+0x124> cmpwi   cr7,r29,0
<moea_pvo_enter+0x128> beq-    cr7,0098ef74 <moea_pvo_enter+0x244>
<moea_pvo_enter+0x12c> lwz     r0,52(r29)

Both of these are tied to:

        mtx_lock(&moea_table_mutex);
        LIST_FOREACH(pvo, &moea_pvo_table[ptegidx], pvo_olink) {
                if (pvo->pvo_pmap =3D=3D pm && PVO_VADDR(pvo) =3D=3D va) {

with the "lwz r0,52(r29)" appearing to be the access for pvo->pvo_pmap
from what I can tell. In turn it suggests that, on the G3, values for
pvo result that are inappropriate. (Not that I have a clue why.)

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-233863-21-yq0YCgEFwn>