lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20091228101902.4a7feac1.kamezawa.hiroyu@jp.fujitsu.com>
Date:	Mon, 28 Dec 2009 10:19:02 +0900
From:	KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
To:	KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
Cc:	Peter Zijlstra <peterz@...radead.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"linux-mm@...ck.org" <linux-mm@...ck.org>,
	"minchan.kim@...il.com" <minchan.kim@...il.com>,
	cl@...ux-foundation.org
Subject: Re: [RFC PATCH] asynchronous page fault.

On Mon, 28 Dec 2009 09:36:06 +0900
KAMEZAWA Hiroyuki <kamezawa.hiroyu@...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





--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ