Since upgrading to x11-drivers/xf86-video-intel-2.6.3-r1 and kernel-2.6.29 the i915 drm kernel module, after some time, starts to generate a lot of interrupts. This slows down the system lot and generates a load of around 0.80 on the idle system. Symptoms are: System is slow to react when changing desktops, etc. Facts that may be related: -) "dri"(EXA) is enabled -) I don't use a framebuffer device (console in 640x480) -) The problem is not initially present when starting X, sometimes it takes a day to reach the described state. Could be related to awaking from suspend to RAM. Although I had no problems before. -) mesa, xorg-server, libdrm, and other X11 packages are the current stable versions. -) on http://www.lesswatts.org/projects/powertop/known.php#intelgfx this bug is described and claimed that it is fixed already. But for me it is new since the kernel/x11/driver upgrade. -) Hardware is Lenovo Thinkpad X61s with 00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c) 00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c) "Powertop" shows the interrupts: Top causes for wakeups: 99.8% (59792.6) <interrupt> : ahci, yenta, uhci_hcd:usb3, i915@pci:0000:00:02.0 0.1% ( 63.6) <kernel core> : <c014fd27> (<c014f8b0>) 0.0% ( 13.2) <interrupt> : acpi 0.0% ( 13.0) nepomukservices : <c015130f> (<c0145e60>) 0.0% ( 11.8) <interrupt> : HDA Intel, ohci1394, uhci_hcd:usb4, iwlagn 0.0% ( 10.0) <kernel IPI> : Rescheduling interrupts 0.0% ( 4.0) <kernel module> : <f815c18a> (<f815c7d0>) 0.0% ( 3.4) scim-panel-gtk : <c0477894> (<c0145e60>) ---------------- cat /proc/interrupts CPU0 CPU1 cat 0: 624957 157982 IO-APIC-edge timer 1: 10283 8 IO-APIC-edge i8042 8: 0 1 IO-APIC-edge rtc0 9: 33587 9341 IO-APIC-fasteoi acpi 12: 30847 78 IO-APIC-edge i8042 14: 0 0 IO-APIC-edge ata_piix 15: 0 0 IO-APIC-edge ata_piix 16: 28573749 22235 IO-APIC-fasteoi ahci, yenta, uhci_hcd:usb3, i915@pci:0000:00:02.0 17: 26132 44103 IO-APIC-fasteoi HDA Intel, ohci1394, uhci_hcd:usb4, iwlagn 18: 0 0 IO-APIC-fasteoi mmc0 19: 6023 4997 IO-APIC-fasteoi ehci_hcd:usb6 20: 2436 2798 IO-APIC-fasteoi eth0, uhci_hcd:usb1 21: 0 0 IO-APIC-fasteoi uhci_hcd:usb2 22: 1 1 IO-APIC-fasteoi ehci_hcd:usb5 NMI: 0 0 Non-maskable interrupts LOC: 356935 540691 Local timer interrupts RES: 70054 104906 Rescheduling interrupts CAL: 101 178 Function call interrupts TLB: 1216 958 TLB shootdowns TRM: 0 0 Thermal event interrupts SPU: 0 0 Spurious interrupts ERR: 0 MIS: 0 ------------------------------ The only strange thing I found in the kernel log are the two lines: [drm:i915_get_vblank_counter] *ERROR* trying to get vblank count for disabled pipe 0 ACPI: EC: missing confirmations, switch off interrupt mode. Reproducible: Always emerge --info Portage 2.2_rc30 (default/linux/x86/2008.0/desktop, gcc-4.3.2, glibc-2.8_p20080602-r1, 2.6.29-gentoo-r1 i686) ================================================================= System uname: Linux-2.6.29-gentoo-r1-i686-Intel-R-_Core-TM-2_Duo_CPU_L7500_@_1.60GHz-with-glibc2.0 Timestamp of tree: Thu, 16 Apr 2009 13:15:02 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p39 dev-java/java-config: 2.1.7 dev-lang/python: 2.5.2-r7 dev-python/pycrypto: 2.0.1-r8 dev-util/ccache: 2.4-r7 dev-util/cmake: 2.6.2-r1 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.4.3-r1 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.tiscali.nl/" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en en_US de ja es fr it" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/science /usr/local/portage/layman/sunrise /usr/local/portage/tom-overlay" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa anthy apache2 avahi bash-completion berkdb bluetooth branding bzip2 cairo canna cddb cdparanoia cdr cjk cli cracklib crypt ctype cups curl daap dbus dri dvd dvdr dvdread eds emacs encode esd evo expat fam fbcon ffmpeg firefox flac fortran freewnn ftp gd gdbm gif glut gmp gnutls gpm graphviz gstreamer gtk guile hal hdaps iconv ieee1394 imagemagick imap imlib ipod ipv6 isdnlog java javascript jpeg kde latex ldap leim libnotify lm_sensors m17n-lib mad midi migemo mikmod mime mmx mng mp3 mp4 mpeg mplayer mudflap mule musicbrainz mysql mysqli ncurses nls nptl nptlonly nsplugin obex ocaml ogg oggvorbis openal opengl openmp pam pcmcia pcre pdf perl php plasma plotutils png ppds pppd python qt3 qt3support qt4 quicktime readline reflection samba sasl sdl session slang spell spl sqlite3 sse ssl startup-notification svg sysfs tcpd texlive theora threads tiff tk truetype unicode usb v4l v4l2 visualization vorbis wifi win32codecs wxwindows x86 xcomposite xine xinerama xml xorg xulrunner xv xvid zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" FRITZCAPI_CARDS="fcpcmcia" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US de ja es fr it" USERLAND="GNU" VIDEO_CARDS="intel" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I think this is something that should be reported upstream.
(In reply to comment #1) > I think this is something that should be reported upstream. > True, could anyone with hardware expertise suggest something. I have not reported kernel bugs yet. Or better to intel@freedesktop upstream ?
I have the solution Since 2.6.28, the kernel option CONFIG_PCI_MSI must be set when the i915 module is used. However compiling this module does not enforce the option being set. http://bugzilla.kernel.org/show_bug.cgi?id=12356 has details.