Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Jan 2022 17:52:28 +0000
From:      bugzilla-noreply@freebsd.org
To:        threads@FreeBSD.org
Subject:   [Bug 261338] [PATCH] kernel panic "bad pte" under heavy CPU load on 12.2 and 12.3 (i386)
Message-ID:  <bug-261338-13406-3drHxrmg91@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-261338-13406@https.bugs.freebsd.org/bugzilla/>
References:  <bug-261338-13406@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

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

Andriy Gapon <avg@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|New                         |Open

--- Comment #4 from Andriy Gapon <avg@FreeBSD.org> ---
(In reply to Dmitry K. from comment #3)
Yes, I think that's the problem.
When creating a patch for stable/12 I totally missed the fact that in main the
smp_*_shootdown functions got split into i386 and amd64 variants.  The i386
smp_targeted_tlb_shootdown has a paired sched_pin / sched_unpin while the amd64
smp_targeted_tlb_shootdown has only sched_unpin and expects the current thread
to be already pinned.

So, I merged the amd64 variant into the shared x86 smp shootdown code of
stable/12.  That works well with the merged amd64 pmap code, but it broke the
i386 pmap code.

Let me think how to fix the breakage.
It seems that maybe it would be sufficient to make the sched_unpin calls in
smp_targeted_tlb_shootdown specific to amd64.  If I am not mistaken, on i386
smp_targeted_tlb_shootdown is always called with the current thread pinned, so
internal pinning (which got removed by me) and unpinning should be unnecessary.

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

help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-261338-13406-3drHxrmg91>