[Nouveau] [Bug 90482] Xorg take 100% CPU when using multiple independent screen configuration

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat May 16 13:42:16 PDT 2015


https://bugs.freedesktop.org/show_bug.cgi?id=90482

--- Comment #2 from Matti Nykyri <matti.nykyri at iki.fi> ---
I also have two screen setup and am facing the same problem since beginning of
April.

Strace shows the KOBJENT NETLINK socket in Xorg returning immediately from
select. The host gets around 9000 interupts / sec:

cat /proc/interupts
           CPU0       CPU1       CPU2       CPU3       
  0:        151          0          0          0   IO-APIC-edge      timer
  1:          1          0          0          0   IO-APIC-edge      i8042
  8:         20          0          0          0   IO-APIC-edge      rtc0
  9:          0          0          0          0   IO-APIC-fasteoi   acpi
 12:          1          0          0          0   IO-APIC-edge      i8042
 16:       8898          0          0          0   IO-APIC  16-fasteoi  
ehci_hcd:usb1
 17:       1268          0          0          0   IO-APIC  17-fasteoi  
snd_hda_intel
 18:          0          0          0          0   IO-APIC  18-fasteoi  
0000:03:00.0, i801_smbus
 19:      70297          0          0          0   IO-APIC  19-fasteoi  
pata_jmicron
 23:         33          0          0          0   IO-APIC  23-fasteoi  
ehci_hcd:usb2
 24:    6912419          0          0          0  HPET_MSI-edge      hpet2
 25:          0    7491688          0          0  HPET_MSI-edge      hpet3
 26:          0          0    4552335          0  HPET_MSI-edge      hpet4
 27:          0          0          0    8398350  HPET_MSI-edge      hpet5
 34:     155556          0          0          0   PCI-MSI-edge      nouveau
 35:      37000          0          0          0   PCI-MSI-edge     
0000:00:1f.2
 36:          0          0          0          0   PCI-MSI-edge     
0000:09:00.0
 37:     120172          0          0          0   PCI-MSI-edge      enp5s0
 38:        325          0          0          0   PCI-MSI-edge     
snd_hda_intel
NMI:      76929      95741      80757      78650   Non-maskable interrupts
LOC:          0        125        121        118   Local timer interrupts
SPU:          0          0          0          0   Spurious interrupts
PMI:      76928      95740      80756      78649   Performance monitoring
interrupts
IWI:         11         10         11          5   IRQ work interrupts
RTR:          5          0          0          0   APIC ICR read retries
RES:      83545      76436      81720      73802   Rescheduling interrupts
CAL:        142        146        161         94   Function call interrupts
TLB:        276        150        213        227   TLB shootdowns
TRM:          0          0          0          0   Thermal event interrupts
THR:          0          0          0          0   Threshold APIC interrupts
MCE:          0          0          0          0   Machine check exceptions
MCP:        251        251        251        251   Machine check polls
ERR:          0
MIS:          0

Kernel function tracer:
cat /sys/kernel/debug/tracing/trace
               X-2956  [000] .... 74409.277687: __fget_light <-__fdget
             zsh-6138  [002] d... 74409.277688: __mod_zone_page_state
<-get_page_from_freelist
               X-2956  [000] .... 74409.277688: sock_poll <-do_select
             zsh-6138  [002] d... 74409.277688: zone_statistics
<-get_page_from_freelist
               X-2956  [000] .... 74409.277688: unix_poll <-sock_poll
             zsh-6138  [002] d... 74409.277688: __inc_zone_state
<-zone_statistics
               X-2956  [000] .... 74409.277688: __fdget <-do_select
             zsh-6138  [002] d... 74409.277688: __inc_zone_state
<-zone_statistics
               X-2956  [000] .... 74409.277688: __fget_light <-__fdget
               X-2956  [000] .... 74409.277688: sock_poll <-do_select
               X-2956  [000] .... 74409.277688: unix_poll <-sock_poll
               X-2956  [000] .... 74409.277688: __fdget <-do_select
               X-2956  [000] .... 74409.277688: __fget_light <-__fdget
               X-2956  [000] .... 74409.277688: sock_poll <-do_select
               X-2956  [000] .... 74409.277688: unix_poll <-sock_poll
               X-2956  [000] .... 74409.277688: __fdget <-do_select
               X-2956  [000] .... 74409.277688: __fget_light <-__fdget
               X-2956  [000] .... 74409.277689: sock_poll <-do_select
               X-2956  [000] .... 74409.277689: unix_poll <-sock_poll
               X-2956  [000] .... 74409.277689: __fdget <-do_select
               X-2956  [000] .... 74409.277689: __fget_light <-__fdget
               X-2956  [000] .... 74409.277689: sock_poll <-do_select
               X-2956  [000] .... 74409.277689: unix_poll <-sock_poll
               X-2956  [000] .... 74409.277689: __fdget <-do_select
               X-2956  [000] .... 74409.277689: __fget_light <-__fdget
               X-2956  [000] .... 74409.277689: sock_poll <-do_select
               X-2956  [000] .... 74409.277689: unix_poll <-sock_poll
             zsh-6138  [002] .... 74409.277689: kmemleak_alloc <-kmalloc_order
               X-2956  [000] .... 74409.277689: __fdget <-do_select
               X-2956  [000] .... 74409.277690: __fget_light <-__fdget
               X-2956  [000] .... 74409.277690: sock_poll <-do_select

Perf top:
   PerfTop:    9602 irqs/sec  kernel:86.0%  exact:  0.0% [4000Hz cycles], 
(all, 4 CPUs)
------------------------------------------------------------------------------------------------------------------------------------------------------------

    19.24%  [kernel]                 [k] do_select                  
    17.08%  [kernel]                 [k] __fget_light               
    13.34%  [kernel]                 [k] unix_poll                  
    13.18%  [kernel]                 [k] sock_poll                  
     3.00%  [kernel]                 [k] do_raw_spin_lock           
     1.81%  [kernel]                 [k] _raw_spin_unlock_irqrestore
     1.55%  Xorg                     [.] WaitForSomething           
     1.45%  [kernel]                 [k] __fdget                    
     1.38%  [kernel]                 [k] datagram_poll              
     1.37%  [kernel]                 [k] fput                       
     1.37%  [kernel]                 [k] _raw_spin_lock_irqsave     
     1.37%  [kernel]                 [k] __pollwait                 
     1.31%  [vdso]                   [.] __vdso_clock_gettime       
     1.23%  [kernel]                 [k] memset                     
     0.76%  libdrm_nouveau.so.2.0.0  [.] pushbuf_flush              
     0.76%  libdrm_nouveau.so.2.0.0  [.] pushbuf_kref               
     0.72%  nouveau_drv.so           [.] drmmode_wakeup_handler     
     0.72%  [kernel]                 [k] copy_user_generic_string   
     0.64%  [kernel]                 [k] do_raw_spin_unlock         
     0.61%  [kernel]                 [k] hpet_msi_next_event        
     0.57%  libdrm_nouveau.so.2.0.0  [.] nouveau_bo_ref             
     0.55%  [kernel]                 [k] system_call                
     0.54%  [kernel]                 [k] core_sys_select            
     0.51%  [kernel]                 [k] select_estimate_accuracy   
     0.45%  nouveau_drv.so           [.] NVBlockHandler             
     0.44%  Xorg                     [.] GetTimeInMillis            
     0.43%  [kernel]                 [k] poll_freewait              
     0.43%  [kernel]                 [k] ktime_get_ts64             
     0.42%  [kernel]                 [k] remove_wait_queue          
     0.41%  Xorg                     [.] IdleTimeWakeupHandler      
     0.40%  [kernel]                 [k] add_wait_queue             
     0.39%  libexa.so                [.] ExaBlockHandler            
     0.37%  Xorg                     [.] BlockHandler               
     0.35%  Xorg                     [.] WakeupHandler              
     0.32%  Xorg                     [.] xf86Wakeup                 
     0.31%  [kernel]                 [k] nouveau_barobj_wr32        

The bug activates when display of a screen is turned on. Restarting X fixes the
issue until a display is cycled.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20150516/e8a0ec90/attachment-0001.html>


More information about the Nouveau mailing list