[Intel-gfx] [PATCH] drm/i915: protect force_wake_(get|put) with the gt_lock

Nicolas Kalkhof nkalkhof at web.de
Mon Nov 7 19:14:35 CET 2011


Hi Daniel,

ok here is the sysprof result (see below). No cpu/gpu intensive apps are running, just the idling desktop. CPU Temperature is low and frequency is throttled down to 800 MHz like it should be. The System is responsive and behaves normal but top shows full cpu load. Honestly I cannot see the reason why X and gkrellm should eat up all the gpu since they clearly don't hog the cpu. Maybe the kernel reports wrong cpu stats? Then again the load goes down when I kill X! Hope this gives you a clue.

If you need more info, please let me know.

Yours,
Nic

[Everything]                                                                0.00% 100.00%
  [/usr/bin/X]                                                              0.00%  29.26%
    No map [/usr/bin/X]                                                     0.00%  12.95%
      select                                                                0.00%  11.79%
        - - kernel - -                                                      0.00%  11.79%
          _raw_spin_unlock_irqrestore                                       2.91%   2.91%
          unix_poll                                                         1.60%   1.60%
          fget_light                                                        1.16%   1.16%
          sock_poll                                                         0.73%   0.73%
          do_select                                                         0.58%   0.58%
          fput                                                              0.44%   0.44%
          __pollwait                                                        0.44%   0.44%
          get_work_gcwq                                                     0.44%   0.44%
          get_page_from_freelist                                            0.44%   0.44%
          evdev_poll                                                        0.29%   0.29%
          _raw_spin_lock_irqsave                                            0.29%   0.29%
          finish_task_switch                                                0.29%   0.29%
          copy_user_generic_unrolled                                        0.29%   0.29%
          n_tty_poll                                                        0.15%   0.15%
          start_flush_work                                                  0.15%   0.15%
          tty_poll                                                          0.15%   0.15%
          datagram_poll                                                     0.15%   0.15%
          get_signal_to_deliver                                             0.15%   0.15%
          next_zones_zonelist                                               0.15%   0.15%
          __alloc_pages_nodemask                                            0.15%   0.15%
          core_sys_select                                                   0.15%   0.15%
          sys_rt_sigreturn                                                  0.15%   0.15%
          _cond_resched                                                     0.15%   0.15%
          save_i387_xstate                                                  0.15%   0.15%
          timerfd_poll                                                      0.15%   0.15%
          hrtimer_init                                                      0.15%   0.15%
      In file /usr/lib64/xorg/modules/drivers/intel_drv.so                  0.73%   0.87%
        - - kernel - -                                                      0.00%   0.15%
          retint_signal                                                     0.15%   0.15%
      __errno_location                                                      0.15%   0.15%
      WakeupHandler                                                         0.15%   0.15%
    ioctl                                                                   0.00%   3.35%
    In file /usr/lib64/xorg/modules/drivers/intel_drv.so                    2.62%   2.62%
    In file /usr/lib64/libpixman-1.so.0.23.9                                2.04%   2.04%
    __read                                                                  0.15%   1.46%
    In file /usr/bin/Xorg                                                   1.46%   1.46%
    In file /lib64/libc-2.13.so                                             1.02%   1.16%
    In file /usr/lib64/xorg/modules/input/synaptics_drv.so                  0.58%   0.87%
    fbPixmapToRegion                                                        0.29%   0.44%
    fbBlt                                                                   0.29%   0.29%
    ChangeGC                                                                0.29%   0.29%
    ReadRequestFromClient                                                   0.15%   0.15%
    mmap                                                                    0.00%   0.15%
    ProcQueryPointer                                                        0.15%   0.15%
    In file [heap]                                                          0.00%   0.15%
    fbPolyline32                                                            0.15%   0.15%
    In file /usr/lib64/xorg/modules/input/evdev_drv.so                      0.15%   0.15%
    dixLookupDrawable                                                       0.15%   0.15%
    ChangeWindowAttributes                                                  0.15%   0.15%
    GetExtensionEntry                                                       0.15%   0.15%
    ValidatePicture                                                         0.15%   0.15%
    dixLookupResourceByClass                                                0.15%   0.15%
    timerfd_settime                                                         0.15%   0.15%
    IsMaster                                                                0.15%   0.15%
    malloc                                                                  0.15%   0.15%
    dixLookupResourceByType                                                 0.15%   0.15%
    ConfigureWindow                                                         0.15%   0.15%
  [gkrellm]                                                                 0.00%  26.49%
    read                                                                    0.15%  12.66%
      - - kernel - -                                                        0.00%  12.52%
        format_decode                                                       3.35%   3.35%
        vsnprintf                                                           2.04%   2.04%
        string.clone.2                                                      1.46%   1.46%
        number.clone.1                                                      1.16%   1.16%
        seq_printf                                                          0.58%   0.58%
        e1000e_update_stats                                                 0.58%   0.58%
        show_stat                                                           0.29%   0.29%
        put_dec_trunc                                                       0.29%   0.29%
        strnlen                                                             0.29%   0.29%
        kstat_irqs                                                          0.29%   0.29%
        part_round_stats                                                    0.15%   0.15%
        all_vm_events                                                       0.15%   0.15%
        dev_seq_printf_stats                                                0.15%   0.15%
        acpi_ds_exec_end_op                                                 0.15%   0.15%
        put_dec_full                                                        0.15%   0.15%
        kref_put                                                            0.15%   0.15%
        get_device                                                          0.15%   0.15%
        diskstats_show                                                      0.15%   0.15%
        seq_read                                                            0.15%   0.15%
        irq_to_desc                                                         0.15%   0.15%
        vmstat_show                                                         0.15%   0.15%
        vmstat_next                                                         0.15%   0.15%
        system_call_after_swapgs                                            0.15%   0.15%
        jiffies_to_msecs                                                    0.15%   0.15%
        sys_read                                                            0.15%   0.15%
    __isoc99_vsscanf                                                        0.00%   1.31%
    No map [gkrellm]                                                        0.00%   1.16%
    In file /usr/lib64/libcairo.so.2.11000.2                                0.87%   0.87%
    In file /usr/lib64/libpango-1.0.so.0.2904.0                             0.58%   0.58%
    In file /usr/lib64/libgdk-x11-2.0.so.0.2400.7                           0.44%   0.44%
    In file /lib64/libc-2.13.so                                             0.29%   0.44%
    g_type_check_instance_is_a                                              0.44%   0.44%
    pango_default_break                                                     0.44%   0.44%
    In file /usr/lib64/libpangocairo-1.0.so.0.2904.0                        0.29%   0.29%
    g_type_instance_get_private                                             0.29%   0.29%
    In file /usr/lib64/libglib-2.0.so.0.3000.1                              0.15%   0.29%
    _XUpdateGCCache                                                         0.29%   0.29%
    _IO_file_seekoff                                                        0.29%   0.29%
    __open64                                                                0.00%   0.29%
    g_markup_parse_context_parse                                            0.29%   0.29%
    gdk_gc_get_type                                                         0.29%   0.29%
    In file /usr/bin/gkrellm                                                0.29%   0.29%
    In file /usr/lib64/libfreetype.so.6.7.2                                 0.29%   0.29%
    update_host                                                             0.15%   0.15%
    In file /usr/lib64/gkrellm2/plugins/cpufreq.so                          0.15%   0.15%
    g_unichar_type                                                          0.15%   0.15%
    g_type_fundamental                                                      0.15%   0.15%
    pango_renderer_set_matrix                                               0.15%   0.15%
    g_object_ref                                                            0.15%   0.15%
    gdk_draw_drawable                                                       0.00%   0.15%
    In file /lib64/libpthread-2.13.so                                       0.15%   0.15%
    free                                                                    0.15%   0.15%
    poll                                                                    0.00%   0.15%
    g_type_create_instance                                                  0.15%   0.15%
    g_object_unref                                                          0.15%   0.15%
    _XFlushGCCache                                                          0.15%   0.15%
    g_pointer_bit_unlock                                                    0.15%   0.15%
    cairo_close_path                                                        0.15%   0.15%
    xcb_writev                                                              0.15%   0.15%
    pango_layout_line_get_extents                                           0.15%   0.15%
    gdk_pango_renderer_get_type                                             0.15%   0.15%
    pango_renderer_deactivate                                               0.15%   0.15%
    __pthread_mutex_lock                                                    0.15%   0.15%
    In file /usr/lib64/libX11.so.6.3.0                                      0.15%   0.15%
    pango_ot_buffer_output                                                  0.15%   0.15%
    g_type_class_peek_static                                                0.15%   0.15%
    cairo_pattern_destroy                                                   0.15%   0.15%
    cairo_destroy                                                           0.15%   0.15%
    g_unichar_get_script                                                    0.15%   0.15%
    pango_script_iter_next                                                  0.15%   0.15%
    open                                                                    0.00%   0.15%
    pango_renderer_set_color                                                0.15%   0.15%
    g_malloc_n                                                              0.15%   0.15%
    XSetClipMask                                                            0.15%   0.15%
    gkrellm_update_krell                                                    0.15%   0.15%
    finite                                                                  0.15%   0.15%
    g_object_newv                                                           0.15%   0.15%
    lseek64                                                                 0.00%   0.15%
    g_datalist_id_get_data                                                  0.15%   0.15%
  [kicker [kdeinit]]                                                        0.00%   8.88%
  [/opt/apps/firefox/bin/firefox]                                           0.00%   6.40%
  [sysprof]                                                                 0.00%   5.97%
  [top]                                                                     0.00%   5.68%
  [/opt/java/jdk/jre/bin/java]                                              0.00%   5.24%
  [konsole [kdeinit]]                                                       0.00%   5.09%
  [kcpuload]                                                                0.00%   2.47%
  [/opt/apps/claws-mail/bin/claws-mail]                                     0.00%   1.75%
  [kwin [kdeinit] -session 10d66f6e7a000128602678900000074690000_1320681]   0.00%   0.87%
  [kworker/u:2]                                                             0.00%   0.44%
  [konsole [kdeinit] -session 10d66f6e7a000132061162800000028890007_1320]   0.00%   0.44%
  [konqueror [kdeinit] -session 10d66f6e7a000132061213500000034570005_13]   0.00%   0.29%
  [kworker/0:0]                                                             0.00%   0.29%
  [kwrapper]                                                                0.00%   0.15%
  [kworker/1:0]                                                             0.00%   0.15%
  [/usr/bin/wpa_cli]                                                        0.00%   0.15%




-----Ursprüngliche Nachricht-----
Von: "Daniel Vetter" <daniel at ffwll.ch>
Gesendet: Nov 7, 2011 5:56:38 PM
An: "Nicolas Kalkhof" <nkalkhof at web.de>
Betreff: Re: [Intel-gfx] [PATCH] drm/i915: protect force_wake_(get|put) with the gt_lock

>On Mon, Nov 07, 2011 at 05:39:44PM +0100, Nicolas Kalkhof wrote:
>> Hi Daniel,
>>
>> confirmed. Linus's linux-next.git shows the same behaviour. Until now
>> I've used a patched 3.1-rc-6+ Kernel from Dave Airlie's branch
>> (git://people.freedesktop.org/~airlied/linux' from Oct 26th.).
>> dmesg/syslog shows nothing special, neither does i915_error_state.
>>
>> Any advice?
>
>If the behaviour-difference is clear, you could try to bisect this. The
>alternative is to use your favourite system profiler and see where the
>cycles get wasted (either sysprof or perf). I suggest you'll try whatever
>approach your more familiar with first and then switch over to the other
>if the first one doesn't yield any clear results. If the difference is
>really clear, I'd start with the bisect (aside: don't restrict the bisect
>to any subdir, the change causing the regression could equally likely be
>somewhere in the core kernel).
>
>Yours, Daniel
>--
>Daniel Vetter
>Mail: daniel at ffwll.ch
>Mobile: +41 (0)79 365 57 48
___________________________________________________________
SMS schreiben mit WEB.DE FreeMail - einfach, schnell und
kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192


More information about the Intel-gfx mailing list