From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adam Jackson Subject: Re: Suggestions on fixing fill_modes ioctl() delays under i915 Date: Mon, 16 Apr 2012 12:37:08 -0400 Message-ID: <1334594228.17648.16.camel@atropine> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1629613502==" Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTP id EC97C9ECC0 for ; Mon, 16 Apr 2012 09:37:12 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Dan Aloni Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org --===============1629613502== Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-eKBqsC8NSROQpPNK8DmO" --=-eKBqsC8NSROQpPNK8DmO Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 --=-eKBqsC8NSROQpPNK8DmO Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iEYEABECAAYFAk+MSrUACgkQW4otUKDs0NP/RwCg0QZS/14NShr1c6OUyy5o3uu9 SbcAni1OvMTP0fkl+RSuK/F4QwBm2qT5 =bw3R -----END PGP SIGNATURE----- --=-eKBqsC8NSROQpPNK8DmO-- --===============1629613502== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx --===============1629613502==--