Suggestions on fixing fill_modes ioctl() delays under i915

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2012-04-16 at 18:54 +0300, Dan Aloni wrote:

> Okay, with 3.4-rc3 I can confirm that it works much better. For the
> xrandr test case, I've timed each ioctl to about 60 milli-secs with 9
> calls spanning over half a second. Any further suggestions? Isn't it
> possible to tell that nothing is connected and then not try to probe
> those ports at all?

There could be such detection, but there is not.  We have hotplug
interrupts, but we don't trust them to actually tell us whether
something is connected.  (We don't trust them because we think they're
unreliable, and then they remain unreliable because we don't fix the
implementation to be trustworthy.)  We just turn the interrupts into
uevents and then rely on userspace to compensate for the kernel not
doing a good enough job.

Since we don't do that, the only way to tell that nothing is connected
is to probe.  We could make probing a bit faster by caching previous
EDID and memcmp'ing the first 16 bytes (which include the
vendor/model/serial tuple, which should be unique enough) instead of
retrying the whole EDID fetch unconditionally.

But, as Chris said: You probably want to fix SDL to use
GetScreenResourcesCurrent since GetScreenResources is really only meant
for the session's configuration manager; and if you're running xrandr by
hand, use xrandr --current.

- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20120416/80fe114d/attachment.pgp>


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux