[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