Page MenuHomeFreeBSD

Further reorganize pmap_invalidate TLB code.
ClosedPublic

Authored by kib on Sep 21 2018, 8:48 PM.
Tags
None
Referenced Files
Unknown Object (File)
Jan 24 2024, 1:41 PM
Unknown Object (File)
Jan 24 2024, 10:42 AM
Unknown Object (File)
Jan 18 2024, 11:20 PM
Unknown Object (File)
Dec 21 2023, 9:35 AM
Unknown Object (File)
Dec 20 2023, 7:26 AM
Unknown Object (File)
Oct 30 2023, 5:55 AM
Unknown Object (File)
Jul 9 2023, 7:49 PM
Unknown Object (File)
Jun 28 2023, 6:44 AM
Subscribers

Details

Summary

Split calculation of mask for shootdown IPI and local invalidation. Reorder IPI before local.

Test Plan

Peter, could you, please, test this, same as D17184.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Sep 21 2018, 8:53 PM
sys/amd64/amd64/pmap.c
1810 ↗(On Diff #48327)

Is there a reason that you're now doing the remote invalidations before the local one? Two of the functions are now doing remote invalidations first, and one is doing local invalidations first.

Move all IPIs before local, as advertised.

This revision now requires review to proceed.Sep 21 2018, 10:09 PM
This revision is now accepted and ready to land.Sep 21 2018, 10:14 PM

I ran tests with vm.pmap.pcid_enabled set to 0 and 1. The tests included all threaded tests and all of the mmap() tests.
No problems seen.

This revision was automatically updated to reflect the committed changes.
mjg added a subscriber: mjg.

I started getting semi-reliable tinderbox failures which I bisected to this change.

The box in question is a 4-socket broadwell with:
vm.pmap.invpcid_works: 1
vm.pmap.pcid_enabled: 1
vm.pmap.pg_ps_enabled: 1
vm.pmap.pat_works: 1

Most of the time the bug can be reproduced while building i386 LINT kernels and manifests itself with objcopy complaining about passed files (objcopy: file format not recognized, files change at random).

head r338993 with this change reverted works fine.

This revision can be closed. (I'd do it, but phabricator doesn't give me the option.)

This revision is now accepted and ready to land.Oct 23 2018, 2:42 PM