Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mm/vmscan: Maintain TLB coherency in LRU code #6358

Merged
merged 1 commit into from
Sep 13, 2024

Conversation

pelwell
Copy link
Contributor

@pelwell pelwell commented Sep 13, 2024

As a workaround (and possibly a fix) for CPU spins observed on BCM2837, use ptep_clear_flush_young instead of ptep_test_and_clear_young inside lru_gen_look_around in order to expose PTE changes to the MMU. Note that on architectures that don't require an explicit flush, ptep_clear_flush_young just calls ptep_test_and_clear_young.

As a workaround (and possibly a fix) for CPU spins observed on BCM2837,
use ptep_clear_flush_young instead of ptep_test_and_clear_young inside
lru_gen_look_around in order to expose PTE changes to the MMU. Note that
on architectures that don't require an explicit flush,
ptep_clear_flush_young just calls ptep_test_and_clear_young.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@pelwell
Copy link
Contributor Author

pelwell commented Sep 13, 2024

There is a mailing-list discussion about this issue: https://marc.info/?l=linux-mm&m=172614610701899&w=2

@pelwell pelwell merged commit 536f209 into raspberrypi:rpi-6.6.y Sep 13, 2024
12 checks passed
@pelwell
Copy link
Contributor Author

pelwell commented Sep 13, 2024

A timelapse camera test which is known to trigger the CPU spins has now reached 3000 frames in 5 hours without any significant slowdown (a monitoring application reported an unexpected 3 second delay, but there is no clear gap in the timestamps).

popcornmix added a commit to raspberrypi/firmware that referenced this pull request Sep 13, 2024
kernel: mm/vmscan: Maintain TLB coherency in LRU code
See: raspberrypi/linux#6358
popcornmix added a commit to raspberrypi/rpi-firmware that referenced this pull request Sep 13, 2024
kernel: mm/vmscan: Maintain TLB coherency in LRU code
See: raspberrypi/linux#6358
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant