I added a fail point to get_pv_entry(), causing it to fail to allocate
a page 33% of the time and resort to pv_chunk reclamation.
Without the patch I can reproduce the bug (which manifests
as a panic due to tailq corruption).
Details
Details
- Reviewers
manu alc kib andrew - Commits
- rS336460: Port r324665 and r325285 to arm64.
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
sys/arm64/arm64/pmap.c | ||
---|---|---|
1887 ↗ | (On Diff #45422) | new_tail is no longer used. |
2038–2042 ↗ | (On Diff #45422) | This is suspiciously different from amd64. Please double-check it. |
sys/arm64/arm64/pmap.c | ||
---|---|---|
1871 ↗ | (On Diff #45422) | Could you please swap the pmap and next_pmap definitions so that this line is identical to the amd64 version and the diff between the two is smaller. |
sys/arm64/arm64/pmap.c | ||
---|---|---|
2038–2042 ↗ | (On Diff #45422) | The difference comes from the fact that _pmap_unwire_l3() adjusts v_wire_count, while _pmap_unwire_ptp() does not. I think the code here is correct, but it would be nice to resolve that discrepancy in a future revision. |