Not 32-bit ARM? On Fri, Oct 12, 2018 at 6:35 PM, Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> wrote: > On Fri, Oct 12, 2018 at 11:18:36AM -0700, David Miller wrote: >> From: Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> > [...] >> > Also, do we not flush the caches from any path when we munmap >> > address space? We do call do_munmap on the old mapping from mremap >> > after moving to the new one. >> >> Sparc makes sure that shared mapping have consistent colors. Therefore >> all that's left are private mappings and those will be initialized by >> block stores to clear the page out or similar. >> >> Also, when creating new mappings, we flush the D-cache when necessary >> in update_mmu_cache(). >> >> We also maintain a bit in the page struct to track when a page which >> was potentially written to on one cpu ends up mapped into another >> address space and flush as necessary. >> >> The cache is write-through, which simplifies the preconditions we have >> to maintain. > > Makes sense, thanks. For the moment I sent patches to enable this on arm64 > and x86. We can enable it on sparc as well at a later time as it sounds it > could be a safe optimization to apply to that architecture as well. > > thanks, > > - Joel >