public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* responsiveness: newer kernels causing lagging and blocking
@ 2012-02-23 16:30 Stephan Bärwolf
  2012-02-23 17:12 ` Linus Torvalds
  2012-02-23 17:21 ` Chris Wilson
  0 siblings, 2 replies; 13+ messages in thread
From: Stephan Bärwolf @ 2012-02-23 16:30 UTC (permalink / raw)
  To: linux-kernel
  Cc: Linus Torvalds, Michael Buesch, Chris Wilson, Alex Deucher,
	Dave Airlie

Under various conditions linux since 2.6.39-rc1 laggs and blocks enormously the whole system.
(For example while starting "winecfg" (on a thinkpad X220) and parallel moving the
mousecursor you can observe a periodic blocking for some seconds)

After bisecting a little while, commit "4819d2e4310796c4e9eef674499af9b9caf36b5a"
(" drm: Retry i2c transfer of EDID block after failure ") seems to be responsible.

Because function "drm_do_probe_ddc_edid" loops trying "i2c_transfer" it consumes a lot
of time during errors. Reverting or changing "retries" from 5 to 1 extremly minimizes the
problem to "not perceptible".
It seems the locking within "i2c_transfer" slows everything down.
So maybe it is possible to yield() before calling it?


regards Stephan

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2012-02-24 15:17 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-23 16:30 responsiveness: newer kernels causing lagging and blocking Stephan Bärwolf
2012-02-23 17:12 ` Linus Torvalds
2012-02-23 17:26   ` Stephan Bärwolf
2012-02-23 17:21 ` Chris Wilson
2012-02-23 17:29   ` Linus Torvalds
2012-02-23 17:31     ` Dave Airlie
2012-02-23 18:15   ` Linus Torvalds
2012-02-23 19:52     ` [PATCH] drm: Reduce the number of retries whilst reading EDIDs Chris Wilson
2012-02-23 20:15       ` Linus Torvalds
2012-02-23 20:36         ` Linus Torvalds
2012-02-23 21:36         ` Eugeni Dodonov
2012-02-23 21:40           ` Linus Torvalds
2012-02-24 15:17         ` Adam Jackson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox