[GHC] #8224: Excessive system time -- new IO manager problem?

GHC ghc-devs at haskell.org
Wed Sep 4 22:01:51 CEST 2013


#8224: Excessive system time -- new IO manager problem?
-------------------------------------+-------------------------------------
        Reporter:  rrnewton          |            Owner:
            Type:  bug               |           Status:  new
        Priority:  high              |        Milestone:  7.8.1
       Component:  Runtime System    |          Version:  7.7
      Resolution:                    |         Keywords:  IO Manager,
Operating System:  Linux             |  System Time
 Type of failure:  Runtime           |     Architecture:  x86_64 (amd64)
  performance bug                    |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+-------------------------------------

Comment (by AndreasVoellmy):

 Even with MVars removed and each thread simply waiting (see attached
 program) it takes 200ms system time with -N32. Here is a perf recording
 with call stack info; here is most of the first entry:

 {{{
 # Events: 1K cycles
 #
 # Overhead          Command       Shared Object
 Symbol
 # ........  ...............  ..................
 ...................................
 #
     51.37%  excessive_syste  [kernel.kallsyms]   [k] __ticket_spin_lock
             |
             --- __ticket_spin_lock
                |
                |--88.44%-- _raw_spin_lock_irq
                |          |
                |          |--89.17%-- get_signal_to_deliver
                |          |          do_signal
                |          |          do_notify_resume
                |          |          int_signal
                |          |          |
                |          |          |--94.68%-- __lll_lock_wait_private
                |          |          |
                |          |           --5.32%-- epoll_wait
                |          |                     |
                |          |                     |--67.64%-- 0x7ff06806d533
                |          |                     |
 0x8758b4830558b48
                |          |                     |
                |          |                     |--18.03%-- 0x7ff06806690b
                |          |                     |
 0x8758b4830558b48
                |          |                     |
                |          |                      --14.33%-- 0x7ff068062b2b
                |          |
 0x8758b4830558b48
                |          |
                |          |--8.08%-- acct_collect
                |          |          do_exit
                |          |          do_group_exit
                |          |          get_signal_to_deliver
                |          |          do_signal
                |          |          do_notify_resume
                |          |          int_signal
                |          |          __lll_lock_wait_private
                |          |

 }}}

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8224#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler




More information about the ghc-tickets mailing list