Bug 782855

Summary: High X CPU usage when opening applications, possibly because of not-deallocated GEM objects?
Product: [Fedora] Fedora Reporter: Sandro Mani <manisandro>
Component: xorg-x11-drv-intelAssignee: Adam Jackson <ajax>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ajax, xgl-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-01-24 08:04:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Xorg.0.log
none
messages none

Description Sandro Mani 2012-01-18 17:17:14 UTC
Created attachment 556081 [details]
Xorg.0.log

First off, I am unsure this is really a xorg-intel issue or one issue alone, but based on the observations below, it seemed a possible cause.

Description of problem:
Something is causing very high CPU usage of X and consequently lags on X, either "light" ones (choppy mouse movement, but responsive) or heavy ones (completely unresponsive X). The lags last for anything between a few seconds to several minutes.

Typical examples when this occures are:
- Resume from suspend, when the password prompt shows up
- Launching certain KDE applications (dolphin, gwenview)
- Using eclipse for a long time

Version-Release number of selected component (if applicable):
xorg-x11-drv-intel-2.17.0-6.fc17.x86_64
xorg-x11-server-Xorg-1.11.99.901-2.20120103.fc17.x86_64

How reproducible:
Dependent on uptime / installation age, see "additional info"

Steps to Reproduce:
Nothing particular, normal usage, sooner or later the issue pops up

Additional info:
The graphics card is a Intel 4500MHD (in a Lenovo T400)

Strange things I noticed / debugging attempts:
- Attaching strace to an idle X process, I see a constant stream
   ioctl(8, 0x4020645d, 0x7fff276946e0)    = 0
   ioctl(8, 0x40406469, 0x7fff276946b0)    = 0
   ioctl(8, VIDIOC_INT_RESET, 0x7fff276946a0) = 0
   ioctl(8, 0xc0086457, 0x7fff27694680)    = 0
   ioctl(8, VIDIOC_INT_RESET, 0x7fff27694680) = 0
  (where fd 8 is /dev/dri/card0), which I don't see on other systems (including an intel gma3500 system)

- Monitoring /sys/kernel/debug/dri/0/i915_gem_objects periodically while using eclipse, I noticed (from cat i915_gem_objects  | grep "object" | head -1) that a few minutes after starting eclipse the result was
   4890 objects, 272109568 bytes
while after an hour (when eclipse suddenly hung, but it may be unrelated)
   16888 objects, 334143488 bytes
and after killing eclipse
   3260 objects, 254984192 bytes
  Noticeable here was the fact that, with ~15000 objects, starting dolphin caused severe lags, while with 3260 objects, the lags were still present but much less severe

- Attaching strace to dolphin, I see that the lags occur when it polls /tmp/.X11-unix/X0

- Monitoring top via SSH, I see that often, during the heavy lag periods, a second X instance appears (with 90-99% CPU load). Attaching strace to X, I see loads of clone syscalls, but apparently strace interferes and prevents the clone from succeeding, i.e.
  clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f7ec0be3b50) = ? ERESTARTNOINTR (To be restarted)
--- {si_signo=SIGALRM, si_code=SI_KERNEL} (Alarm clock) ---

- The severity of the issue appears to be heavily correlated with uptime and, oddly, with the installation age. I already previously had the same issue on a F16 install, and installed a fresh rawhide when the symptoms became unbearable. Things worked fine for two weeks now, but in the past few days the same issues started appearing again.

- Attachments: Xorg log (no custom xorg.conf), messages

Comment 1 Sandro Mani 2012-01-18 17:17:55 UTC
Created attachment 556082 [details]
messages

Comment 2 Sandro Mani 2012-01-24 08:04:57 UTC
Not a bug in xorg-video-intel, but in oxygen-gtk (new bug filed here: https://bugs.kde.org/show_bug.cgi?id=292288, closing this one).