Actually, there are some issues with my suggestion.
We are trying to do two things:
1) Flush all VMAs
2) Flush some unmapped area (1 or a few VMAs)
In the #1 case we'd like that to turn into something like:
flush_cache_mm()
for each vma {
unmap_page_range();
}
tlb_finish_mmu();
flush_tlb_mm();
Whereas in the #2 case it should look like:
for each vma {
tlb_start_vma(vma...);
tlb_end_vma(vma...);
}
tlb_finish_mmu();
We have to reposition that tlb.h:flush_tlb_mm() call somehow to
make this a reality.
The next issue is how to make it so that this infrstructure
can allow us to kill off the buggy flush_tlb_pgtables() thing.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/