Messages in this thread | | | Subject | Re: Anticipatory prefaulting in the page fault handler V2 | From | Adam Litke <> | Date | Tue, 14 Dec 2004 13:31:19 -0600 |
| |
Just to add another data point: This works on my 4-way ppc64 (Power4) box. I am seeing no degradation when running this on kernbench (which is expected). For the curious, here are the results:
Kernbench results with anon-prefault: 349.86user 49.64system 1:57.85elapsed 338%CPU (0avgtext+0avgdata 0maxresident)k 349.65user 49.81system 1:58.31elapsed 337%CPU (0avgtext+0avgdata 0maxresident)k 349.48user 50.00system 1:53.70elapsed 351%CPU (0avgtext+0avgdata 0maxresident)k 349.73user 49.69system 1:57.67elapsed 339%CPU (0avgtext+0avgdata 0maxresident)k 349.75user 49.85system 1:52.71elapsed 354%CPU (0avgtext+0avgdata 0maxresident)k Elapsed: 116.048s User: 349.694s System: 49.798s CPU: 343.8%
Kernbench results without anon-prefault: 350.86user 52.54system 1:53.45elapsed 355%CPU (0avgtext+0avgdata 0maxresident)k 350.99user 52.36system 1:52.05elapsed 359%CPU (0avgtext+0avgdata 0maxresident)k 350.92user 52.68system 1:54.14elapsed 353%CPU (0avgtext+0avgdata 0maxresident)k 350.98user 52.38system 1:56.17elapsed 347%CPU (0avgtext+0avgdata 0maxresident)k 351.16user 52.31system 1:53.90elapsed 354%CPU (0avgtext+0avgdata 0maxresident)k Elapsed: 113.942s User: 350.982s System: 52.454s CPU: 353.6%
On Mon, 2004-12-13 at 19:32, Christoph Lameter wrote: > Changes from V1 to V2: > - Eliminate duplicate code and reorganize things > - Use SetReferenced instead of mark_accessed (Hugh Dickins) > - Fix the problem of the preallocation order increasing out of bounds > (leading to memory being overwritten with pointers to struct page) > - Return VM_FAULT_OOM if not able to allocate a single page > - Tested on i386 and ia64 > - New performance test for low cpu counts (up to 8 so that this does not > seem to be too exotic) -- Adam Litke - (agl at us.ibm.com) IBM Linux Technology Center
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |