Hi Colton, On Thu, Aug 08, 2024 at 05:42:43PM +0000, Colton Lewis wrote: > This DSB guarantees page table updates have been made visible to the > hardware table walker. Moving the DSB from stage2_split_walker() to > after the walk is finished in kvm_pgtable_stage2_split() results in a > roughly 70% reduction in Clear Dirty Log Time in > dirty_log_perf_test (modified to use eager page splitting) when using > huge pages. This gain holds steady through a range of vcpus > used (tested 1-64) and memory used (tested 1-64GB). Would you have time to put together a patch for the dirty_log_perf_test changes you've made? This would be quite valuable for testing future improvements to eager page splitting. > This is safe to do because nothing else is using the page tables while > they are still being mapped and this is how other page table walkers > already function. None of them have a data barrier in the walker > itself because relative ordering of table PTEs to table contents comes > from the release semantics of stage2_make_pte(). > > Signed-off-by: Colton Lewis <coltonlewis@xxxxxxxxxx> The diff itself looks good to me, so: Acked-by: Oliver Upton <oliver.upton@xxxxxxxxx> -- Thanks, Oliver