diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2008-08-12 17:52:53 -0500 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2008-08-12 17:52:53 +1000 |
commit | 71a3f4edc11b9dd7af28d003acbbd33496003da1 (patch) | |
tree | b727812682ca9f30169496a30a1e51620f53c7c9 /init | |
parent | 912985dce45ef18fcdd9f5439fef054e0e22302a (diff) | |
download | lwn-71a3f4edc11b9dd7af28d003acbbd33496003da1.tar.gz lwn-71a3f4edc11b9dd7af28d003acbbd33496003da1.zip |
lguest: use get_user_pages_fast() instead of get_user_pages()
Using a simple page table thrashing program I measure a slight
improvement. The program creates five processes. Each touches 1000
pages then schedules the next process. We repeat this 1000 times. As
lguest only caches 4 cr3 values, this rebuilds a lot of shadow page
tables requiring virt->phys mappings.
Before: 5.93 seconds
After: 5.40 seconds
(Counts of slow vs fastpath in this usage are 6092 and 2852462 respectively.)
And more importantly for lguest, the code is simpler.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions