mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Karl Vogel <karl.vogel@gmail.com>
To: Eric Anholt <eric@anholt.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: i915 lockup / extreme delay
Date: Sat, 27 Mar 2010 10:54:36 +0100	[thread overview]
Message-ID: <bad735c81003270254i5e1cdb3dv26c1566e5d005e9f@mail.gmail.com> (raw)
In-Reply-To: <87634oid4y.fsf@pollan.anholt.net>

On Mon, Mar 22, 2010 at 4:34 PM, Eric Anholt <eric@anholt.net> wrote:> On Mon, 22 Mar 2010 09:11:06 +0100, Karl Vogel <karl.vogel@gmail.com> wrote:>> On Mon, Mar 22, 2010 at 5:20 AM, Eric Anholt <eric@anholt.net> wrote:>> > On Sat, 20 Mar 2010 14:41:41 +0100, Karl Vogel <karl.vogel@gmail.com> wrote:>> >> The 'effect' is that only the mouse pointer works in the X server. The>> >> cpu usage on the laptop during the sluggishness is minimal. When I>> >> suspend the game with winedbg, the X server slowly becomes responsive again.>> >>>> >> The output from latencytop seems to point to i915 being the culprit:>> >>> > If there's some code doing glFlush()es, it's probably that code at>> > fault.  You don't need to do that unless you're doing frontbuffer>> > rendering, and if you're doing frontbuffer rendering you should really>> > be doing backbuffer rendering.  I don't see a kernel issue here.>>>> That doesnt explain why the box completely locks up on 2.6.34-rc2>> though, where only a cold reboot works.>> Missed that part of the message.  If there's a regression, bisect> please.
Apparently the crash was caused by a hardware bug in the intel chipsetwhich is 8086:2a40 rev 07. While doing the bisect I got an error:
DRHD: handling fault status reg 2DMAR:[DMA Write] Request device [00:02.0] fault addr dd69a000DMAR:[fault reason 05] PTE Write access is not set
After some googling around, I found this bugzilla entry which explains it:
https://bugzilla.redhat.com/show_bug.cgi?id=538163#c58
The issue appears that the graphics chip is corrupting memory:
"Unfortunately, this particular chipset sometimes reads from the GTT, does thetranslation, then writes the translated address back to the _original_ GTTinstead of to the shadow GTT. That's why you're seeing real physical addresseswhere you should have 'virtual DMA addresses', and you get the faults.   "
Adding "intel_iommu=igfx_off" to the kernel command line resolved the issue.The fedora kernel automatically disables this when it detects this particularchipset revision.
As for the freeze/slowdown right after booting, sysprof shows that more than 77%of the time is spent inside: drm_mode_getconnector
[/usr/bin/Xorg]                                                   0.00%  80.29% ioctl                                                           0.00%  78.47%   - - kernel - -                                                0.01%  78.47%     system_call_fastpath                                        0.00%  77.15%       sys_ioctl                                                 0.00%  77.15%         do_vfs_ioctl                                            0.01%  77.15%           vfs_ioctl                                             0.00%  77.14%             drm_ioctl                                           0.01%  77.14%               drm_mode_getconnector                             0.00%  77.02%                 drm_helper_probe_single_connector_modes         0.00%  77.02%                   intel_lvds_get_modes                          0.00%  62.46%                     intel_ddc_get_modes                         0.00%  62.46%                       drm_get_edid                              0.00%  62.45%                         drm_ddc_read_edid                       0.00%  62.45%                           drm_do_probe_ddc_edid                 0.00%  62.45%                             i2c_transfer                        0.00%  62.45%                               bit_xfer                          0.01%  62.44%                                 sclhi                           0.00%  25.76%                                   set_clock                     0.08%  12.86%                                   __udelay                      0.00%  12.78%                                   get_clock                     0.11%   0.11%                                   __const_udelay                0.01%   0.01%                                 set_clock                       0.12%  12.54%                                   __const_udelay                0.01%  12.42%                                   __delay                       0.00%   0.00%                                 __udelay                        0.00%  12.08%                                 acknak                          0.00%   7.68%                                 sdahi                           0.01%   2.30%                                 try_address                     0.00%   1.20%                                 i2c_outb                        0.00%   0.59%                                 get_data                        0.11%   0.11%                                 i2c_stop                        0.00%   0.09%                                 i2c_repstart                    0.00%   0.07%                                 i2c_start                       0.00%   0.01%                                 __const_udelay                  0.01%   0.01%                               __udelay                          0.01%   0.01%                       drm_add_edid_modes                        0.00%   0.00%                       drm_mode_connector_update_edid_property   0.00%   0.00%                   intel_hdmi_detect                             0.00%   8.01%                   intel_dp_detect                               0.00%   4.91%                   intel_tv_detect                               0.00%   1.23%                   intel_lvds_detect                             0.00%   0.38%                   intel_crt_detect                              0.00%   0.03%                   drm_get_connector_name                        0.00%   0.01%               i915_gem_execbuffer                               0.00%   0.06%               i915_gem_mmap_ioctl                               0.00%   0.01%               i915_gem_set_domain_ioctl                         0.00%   0.01%               drm_gem_close_ioctl                               0.00%   0.01%               drm_mode_object_find                              0.00%   0.00%               i915_gem_busy_ioctl                               0.00%   0.00%               lock_kernel                                       0.00%   0.00%               i915_gem_create_ioctl                             0.00%   0.00%               copy_to_user                                      0.00%   0.00%             copy_user_generic_string                            0.00%   0.00%ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

  reply	other threads:[~2010-03-27  9:54 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-20 13:41 Karl Vogel
2010-03-20 13:52 ` Rafael J. Wysocki
2010-03-22  4:20 ` Eric Anholt
2010-03-22  8:11   ` Karl Vogel
2010-03-22 15:34     ` Eric Anholt
2010-03-27  9:54       ` Karl Vogel [this message]
2010-04-01 13:09         ` Andy Lutomirski
2010-04-01 13:35           ` Karsten Wiese

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bad735c81003270254i5e1cdb3dv26c1566e5d005e9f@mail.gmail.com \
    --to=karl.vogel@gmail.com \
    --cc=eric@anholt.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®