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]
Date:   Thu, 17 Aug 2017 20:18:43 +0000
From:   "Liang, Kan" <kan.liang@...el.com>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
CC:     Tim Chen <tim.c.chen@...ux.intel.com>,
        Peter Zijlstra <peterz@...radead.org>,
        Ingo Molnar <mingo@...e.hu>, Andi Kleen <ak@...ux.intel.com>,
        Andrew Morton <akpm@...ux-foundation.org>,
        "Johannes Weiner" <hannes@...xchg.org>, Jan Kara <jack@...e.cz>,
        linux-mm <linux-mm@...ck.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH 1/2] sched/wait: Break up long wake list walk



> > Here is the wake_up_page_bit call stack when the workaround is running,
> which
> > is collected by perf record -g -a -e probe:wake_up_page_bit -- sleep 10
> 
> It's actually not really wake_up_page_bit() that is all that
> interesting, it would be more interesting to see which path it is that
> *adds* the entries.
> 
> So it's mainly wait_on_page_bit_common(), but also
> add_page_wait_queue().
> 
> Can you get that call stack instead (or in addition to)?
> 

Here is the call stack of wait_on_page_bit_common
when the queue is long (entries >1000).

# Overhead  Trace output      
# ........  ..................
#
   100.00%  (ffffffff931aefca)
            |
            ---wait_on_page_bit
               __migration_entry_wait
               migration_entry_wait
               do_swap_page
               __handle_mm_fault
               handle_mm_fault
               __do_page_fault
               do_page_fault
               page_fault
               |          
               |--21.89%--0x123a2
               |          start_thread
               |          
               |--21.64%--0x12352
               |          start_thread
               |          
               |--20.90%--_int_free
               |          |          
               |           --20.44%--0
               |          
               |--7.34%--0x127a9
               |          start_thread
               |          
               |--6.84%--0x127df
               |          start_thread
               |          
               |--6.65%--0x12205
               |          0x1206d
               |          0x11f85
               |          0x11a05
               |          0x10302
               |          |          
               |           --6.62%--0xa8ee
               |                     |          
               |                      --5.22%--0x3af5
               |                                __libc_start_main
               |          
               |--5.40%--0x1284b
               |          start_thread
               |          
               |--3.14%--0x12881
               |          start_thread
               |          
               |--3.02%--0x12773
               |          start_thread
               |          
                --2.97%--0x12815
                          start_thread

Thanks,
Kan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ