summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/lib/CodeGen/CodeGen.cpp
diff options
context:
space:
mode:
authorskra <skra@FreeBSD.org>2015-12-15 15:22:33 +0000
committerskra <skra@FreeBSD.org>2015-12-15 15:22:33 +0000
commitea700ce7e5ef9274d1af43a729dd33103b671b8f (patch)
tree3212167246054f18c201a76f8107219e78e06d6f /contrib/llvm/lib/CodeGen/CodeGen.cpp
parent635cc4fb3bf7e0488a778b15d9576c1aac4cc197 (diff)
downloadFreeBSD-src-ea700ce7e5ef9274d1af43a729dd33103b671b8f.zip
FreeBSD-src-ea700ce7e5ef9274d1af43a729dd33103b671b8f.tar.gz
Replace all postponed TLB flushes by immediate ones except the one
in pmap_remove_pages(). Some points were considered: (1) There is no range TLB flush cp15 function. (2) There is no target selection for hardware TLB flush broadcasting. (3) Some memory ranges could be mapped sparsely. (4) Some memory ranges could be quite large. Tested by buildworld on RPi2 and Jetson TK1, i.e. 4 core platforms. It turned out that the buildworld time is faster. On the other hand, when the postponed TLB flush was also removed from pmap_remove_pages(), the result was worse. But pmap_remove_pages() is called for removing all user mapping from a process, thus it's quite expected. Note that the postponed TLB flushes came here from i386 pmap where hardware TLB flush broadcasting is not available. Approved by: kib (mentor)
Diffstat (limited to 'contrib/llvm/lib/CodeGen/CodeGen.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud