lkml.org 
[lkml]   [2009]   [Dec]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH] asynchronous page fault.
On Mon, 28 Dec 2009 09:36:06 +0900
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:

> == one vma ==
> # Samples: 1338964273489
> #
> # Overhead Command Shared Object Symbol
> # ........ ............... ........................ ......
> #
> 26.90% multi-fault-all [kernel] [k] clear_page_c
> |
> --- clear_page_c
> __alloc_pages_nodemask
> handle_mm_fault
> do_page_fault
> page_fault
> 0x400940
> |
> --100.00%-- (nil)
>
> 20.65% multi-fault-all [kernel] [k] _raw_spin_lock
> |
> --- _raw_spin_lock
> |
> |--85.07%-- free_pcppages_bulk
> | free_hot_cold_page
>
> ....<snip>
> 3.94% multi-fault-all [kernel] [k] find_vma_speculative
> |
> --- find_vma_speculative
> |
> |--99.40%-- do_page_fault
> | page_fault
> | 0x400940
> | |
> | --100.00%-- (nil)
> |
> --0.60%-- page_fault
> 0x400940
> |
> --100.00%-- (nil)
> ==
>
A small modification for avoiding atomic_add_unless() makes following score.
(used atomic_inc()->atomic_read() instead of that.)
==
2.55% multi-fault-all [kernel] [k] vma_put
|
--- vma_put
|
|--98.87%-- do_page_fault
| page_fault
| 0x400940
| (nil)
|
--1.13%-- page_fault
0x400940
(nil)
0.65% multi-fault-all [kernel] [k] find_vma_speculative
|
--- find_vma_speculative
|
|--95.55%-- do_page_fault
| page_fault
| 0x400940
| |
| --100.00%-- (nil)
|
--4.45%-- page_fault
0x400940
(nil)
==
Hmm...maybe worth to consider some.
I hope something good pops up to me after new year vacation.

Regards,
-Kame







\
 
 \ /
  Last update: 2009-12-28 02:25    [W:0.166 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site