Excessive TLB flush ranges
Uladzislau Rezki
urezki at gmail.com
Tue May 16 06:42:20 PDT 2023
> _vm_unmap_aliases() collects dirty ranges from per cpu vmap_block_queue
> (what ever that is) and hands a start..end range to
> __purge_vmap_area_lazy().
>
> As I pointed out already, this can also end up being an excessive range
> because there is no guarantee that those individual collected ranges are
> consecutive. Though I have no idea how to cure that right now.
>
> AFAICT this was done to spare flush IPIs, but the mm folks should be
> able to explain that properly.
>
This is done to prevent generating IPIs. That is why the whole range is
calculated once and a flush occurs only once for all lazily registered VAs.
--
Uladzislau Rezki
More information about the linux-arm-kernel
mailing list