Summary: | panic: keg dma coherent 32 initialization after use. (MIPS MALTA64) | ||
---|---|---|---|
Product: | Base System | Reporter: | Alex Richardson <arichardson> |
Component: | kern | Assignee: | Jeff Roberson <jeff> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | CC: | jeff, markj |
Priority: | --- | ||
Version: | CURRENT | ||
Hardware: | Any | ||
OS: | Any |
Description
Alex Richardson
2020-01-05 16:55:41 UTC
Probably caused by https://reviews.freebsd.org/rS356348 ? I think the issue is that the assertion checks the value of uz_allocs while it still points to EARLY_COUNTER, and so we get bogus values. A commit references this bug: Author: jeff Date: Sun Jan 5 22:54:26 UTC 2020 New revision: 356389 URL: https://svnweb.freebsd.org/changeset/base/356389 Log: The fix in r356353 was insufficient. Not every architecture returns 0 for EARLY_COUNTER. Only amd64 seems to. Suggested by: markj Reported by: lwhsu Reviewed by: markj PR: 243117 Changes: head/sys/vm/uma_core.c Before r356348 we were reading EARLY_COUNTER, giving a bogus allocation counter. It happens to work on amd64 because counter_u64_fetch() uses CPU_FOREACH, which is a no-op before SI_SUB_CPU. |