Nick Piggin wrote:
Haven't yet pulled out a pre-4-level kernel to see how 3-level compares I guess I'll do that now.
Close. Before 4level: 119.5us, after folded walkers: 132.8us
I think most of this is now coming from clear_page_range, rather than the actual traversing of the page tables (because they should be completely folded by now):
before: 4089 total 0.0017 753 kmap_atomic 4.7358 682 do_wp_page 0.6713 680 do_page_fault 0.4561 261 zap_pte_range 0.3625 176 copy_page_range 0.2133 159 pte_alloc_one 1.5743 145 clear_page_tables 0.4866
after: 4307 total 0.0018 676 kmap_atomic 4.2516 665 do_page_fault 0.4472 615 do_wp_page 0.6225 550 clear_page_range 0.9982 262 zap_pte_range 0.4870
I think the additional work done by clear_page_range (versus clear_page_tables) justifies the extra cost, even for 3-level architectures.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

