Date: Sun, 25 Jun 2017 13:22:49 +0000 (UTC) From: Andrew Turner <andrew@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r320328 - head/sys/arm64/arm64 Message-ID: <201706251322.v5PDMnmh019822@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: andrew Date: Sun Jun 25 13:22:49 2017 New Revision: 320328 URL: https://svnweb.freebsd.org/changeset/base/320328 Log: Stop calling cpu_dcache_wb_range from PTE_SYNC. We set the shareability attributes in TCR_EL1 on boot. These tell the hardware the pagetables are in cached memory so there is no need to flush the entries from the cache to memory. This has about 4.2% improvement in system time and 2.7% improvement in user time for a buildkernel -j48 on a ThunderX. Keep the old code for now to allow for further comparisons. Modified: head/sys/arm64/arm64/pmap.c Modified: head/sys/arm64/arm64/pmap.c ============================================================================== --- head/sys/arm64/arm64/pmap.c Sun Jun 25 11:31:39 2017 (r320327) +++ head/sys/arm64/arm64/pmap.c Sun Jun 25 13:22:49 2017 (r320328) @@ -504,7 +504,11 @@ pmap_l3_valid(pt_entry_t l3) CTASSERT(L1_BLOCK == L2_BLOCK); +#if 0 #define PTE_SYNC(pte) cpu_dcache_wb_range((vm_offset_t)pte, sizeof(*pte)) +#else +#define PTE_SYNC(pte) (void)0 +#endif /* * Checks if the page is dirty. We currently lack proper tracking of this on
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706251322.v5PDMnmh019822>