[Nouveau] Nouveau kernel module exhausting CPU

Matti Nykyri Matti.Nykyri at iki.fi
Sun Apr 5 10:42:18 PDT 2015


Hello

I recently switched from Nvidia binary driver to Nouveau. I have encountered a possible bug in the kernel module. Before I file a bug report I would like to know if this is a known issue or not.

I believe it is related to sleep state and power management of the driver.

The Bug:

When the computer is left on it's own to go to a power save mode X takes 100% CPU-time in its thread. A trace to X server shows this is caused by select-systemcall immediately returning when X is polling its FD's. The FD nro 12 is constantly indicating that there is data to read so X will never sleep. The FD 12 is a r/w socket connected via netlink to kernel's UEVENT.

Restarting X resets the problem to wait again for the sleep state. A new sleep will make the problem arice again.


Hardware:

I have Fermi nVidia gpu GF104 NVC4 (GeForce GTX 460) and i5 quad core amd64 processor

Software:

System is running gentoo with stable 'default/linux/amd64/13.0/desktop/kde'-profile

Kernel:
sys-kernel/gentoo-sources-3.18.7

Nouveau driver:
x11-drivers/xf86-video-nouveau-1.0.11

Xorg-server:
x11-base/xorg-server-1.16.4

KMS is used for selecting video modes.

---- dmesg ----
[    0.623063] [drm] Initialized drm 1.1.0 20060810
[    0.623272] nouveau  [  DEVICE][0000:01:00.0] BOOT0  : 0x0c4100a1
[    0.623274] nouveau  [  DEVICE][0000:01:00.0] Chipset: GF104 (NVC4)
[    0.623275] nouveau  [  DEVICE][0000:01:00.0] Family : NVC0
[    0.623307] nouveau  [   VBIOS][0000:01:00.0] checking PRAMIN for image...
[    0.716983] nouveau  [   VBIOS][0000:01:00.0] ... appears to be valid
[    0.716985] nouveau  [   VBIOS][0000:01:00.0] using image from PRAMIN
[    0.717075] nouveau  [   VBIOS][0000:01:00.0] BIT signature found
[    0.717076] nouveau  [   VBIOS][0000:01:00.0] version 70.04.1b.00.02
[    0.739319] nouveau 0000:01:00.0: irq 34 for MSI/MSI-X
[    0.739327] nouveau  [     PMC][0000:01:00.0] MSI interrupts enabled
[    0.739359] nouveau  [     PFB][0000:01:00.0] RAM type: GDDR5
[    0.739360] nouveau  [     PFB][0000:01:00.0] RAM size: 1024 MiB
[    0.739361] nouveau  [     PFB][0000:01:00.0]    ZCOMP: 0 tags
[    0.744934] nouveau  [    VOLT][0000:01:00.0] GPU voltage: 875000uv
[    0.773304] nouveau  [  PTHERM][0000:01:00.0] FAN control: PWM
[    0.773316] nouveau  [  PTHERM][0000:01:00.0] fan management: automatic
[    0.773343] nouveau  [  PTHERM][0000:01:00.0] internal sensor: yes
[    0.793417] nouveau  [     CLK][0000:01:00.0] 03: core 50 MHz memory 135 MHz 
[    0.793419] nouveau  [     CLK][0000:01:00.0] 07: core 405 MHz memory 324 MHz 
[    0.793421] nouveau  [     CLK][0000:01:00.0] 0c: core 405 MHz memory 1900 MHz 
[    0.793423] nouveau  [     CLK][0000:01:00.0] 0f: core 800 MHz memory 1900 MHz 
[    0.793498] nouveau  [     CLK][0000:01:00.0] --: core 50 MHz memory 135 MHz 
[    0.803150] nouveau  [     DRM] VRAM: 1024 MiB
[    0.803151] nouveau  [     DRM] GART: 1048576 MiB
[    0.803154] nouveau  [     DRM] TMDS table version 2.0
[    0.803155] nouveau  [     DRM] DCB version 4.0
[    0.803157] nouveau  [     DRM] DCB outp 00: 04000310 00000000
[    0.803158] nouveau  [     DRM] DCB outp 01: 02011300 00020030
[    0.803159] nouveau  [     DRM] DCB outp 02: 01011302 00020030
[    0.803160] nouveau  [     DRM] DCB outp 03: 02022362 00020010
[    0.803161] nouveau  [     DRM] DCB outp 04: 08033382 00020030
[    0.803162] nouveau  [     DRM] DCB conn 00: 00000000
[    0.803164] nouveau  [     DRM] DCB conn 01: 00001130
[    0.803165] nouveau  [     DRM] DCB conn 02: 00002261
[    0.803166] nouveau  [     DRM] DCB conn 03: 00010330
[    0.803819] [drm] forcing VGA-1 connector OFF
[    0.803928] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.803928] [drm] Driver supports precise vblank timestamp query.
[    0.818699] nouveau  [     DRM] MM: using COPY1 for buffer copies
[    1.063301] nouveau  [     DRM] allocated 1920x1080 fb: 0x60000, bo ffff880215bee800
[    1.063423] fbcon: nouveaufb (fb0) is primary device
[    1.181816] nouveau 0000:01:00.0: fb0: nouveaufb frame buffer device
[    1.181817] nouveau 0000:01:00.0: registered panic notifier
[    1.197990] [drm] Initialized nouveau 1.2.1 20120801 for 0000:01:00.0 on minor 0
---- end ----

X uses 2 separate screens in ZaphodHeads mode

---- Xorg.0.log ----
[176404.378] (II) xfree86: Adding drm device (/dev/dri/card0)
[176404.384] (II) LoadModule: "nouveau"
[176404.385] (II) Loading /usr/lib64/xorg/modules/drivers/nouveau_drv.so
[176404.385] (II) Module nouveau: vendor="X.Org Foundation"
[176404.385] (II) NOUVEAU driver 
[176404.385] (II) NOUVEAU driver for NVIDIA chipset families :
[176404.386] (II) [drm] nouveau interface version: 1.2.1
[176404.386] (II) [drm] nouveau interface version: 1.2.1
[176404.387] (--) NOUVEAU(0): Chipset: "NVIDIA NVC4"
[176404.387] (==) NOUVEAU(0): Depth 24, (--) framebuffer bpp 32
[176404.387] (==) NOUVEAU(0): RGB weight 888
[176404.387] (==) NOUVEAU(0): Default visual is TrueColor
[176404.387] (**) NOUVEAU(0): Option "ZaphodHeads" "HDMI-1"
[176404.387] (==) NOUVEAU(0): Using HW cursor
[176404.387] (==) NOUVEAU(0): GLX sync to VBlank enabled.
[176404.387] (==) NOUVEAU(0): Page flipping enabled
[176404.387] (==) NOUVEAU(0): Swap limit set to 1 [Max allowed 2]
[176404.387] (==) NOUVEAU(0): Page flipping synced to vblank by kernel.
[176404.387] (II) NOUVEAU(0): Initializing outputs ...
[176404.507] (II) NOUVEAU(0): Output HDMI-1 using monitor section Monitor0
[176404.507] (**) NOUVEAU(0): Option "PreferredMode" "1920x1080_23"
[176404.508] (WW) NOUVEAU(0): Option "MaxClock" requires a frequency value
etc...
---- end ----

Any ideas?

-- 
-Matti


More information about the Nouveau mailing list