[PATCH] drm: Reduce the number of retries whilst reading EDIDs

2012-02-24 Thread Adam Jackson
On Thu, 2012-02-23 at 12:15 -0800, Linus Torvalds wrote: > Btw, clearly X does *not* cache the EDID results, at least not for > this case. So the explicit xrandr example is probably pretty close to > what wine does. Maybe the proper fix is to just make X.org force > caching when clients do this (b

Re: [PATCH] drm: Reduce the number of retries whilst reading EDIDs

2012-02-24 Thread Adam Jackson
On Thu, 2012-02-23 at 12:15 -0800, Linus Torvalds wrote: > Btw, clearly X does *not* cache the EDID results, at least not for > this case. So the explicit xrandr example is probably pretty close to > what wine does. Maybe the proper fix is to just make X.org force > caching when clients do this (b

Re: [PATCH] drm: Reduce the number of retries whilst reading EDIDs

2012-02-24 Thread Eugeni Dodonov
On 02/23/2012 06:15 PM, Linus Torvalds wrote: On Thu, Feb 23, 2012 at 11:52 AM, Chris Wilson wrote: i2c retries if sees an EGAIN, drm_do_probe_ddc_edid retries until it gets a result and *then* drm_do_get_edid retries until it gets a result it is happy with. All in all, that is a lot of proces

[PATCH] drm: Reduce the number of retries whilst reading EDIDs

2012-02-23 Thread Chris Wilson
i2c retries if sees an EGAIN, drm_do_probe_ddc_edid retries until it gets a result and *then* drm_do_get_edid retries until it gets a result it is happy with. All in all, that is a lot of processor intensive looping in cases where we do not expect and cannot get valid data - for example on Intel wi

[PATCH] drm: Reduce the number of retries whilst reading EDIDs

2012-02-23 Thread Eugeni Dodonov
On 02/23/2012 06:15 PM, Linus Torvalds wrote: > On Thu, Feb 23, 2012 at 11:52 AM, Chris Wilson > wrote: >> >> i2c retries if sees an EGAIN, drm_do_probe_ddc_edid retries until it >> gets a result and *then* drm_do_get_edid retries until it gets a result >> it is happy with. All in all, that is a

Re: [PATCH] drm: Reduce the number of retries whilst reading EDIDs

2012-02-23 Thread Linus Torvalds
On Thu, Feb 23, 2012 at 1:36 PM, Eugeni Dodonov wrote: > > Perhaps a stupid question, but does you tree has > http://cgit.freedesktop.org/~airlied/linux/commit/?h=drm-next&id=9292f37e1f5c79400254dca46f83313488093825 > from Dave's drm-next? > > If it has, it would be the 1st time that I see xrandr

[PATCH] drm: Reduce the number of retries whilst reading EDIDs

2012-02-23 Thread Linus Torvalds
On Thu, Feb 23, 2012 at 1:36 PM, Eugeni Dodonov wrote: > > Perhaps a stupid question, but does you tree has > http://cgit.freedesktop.org/~airlied/linux/commit/?h=drm-next&id=9292f37e1f5c79400254dca46f83313488093825 > from Dave's drm-next? > > If it has, it would be the 1st time that I see xrandr

Re: [PATCH] drm: Reduce the number of retries whilst reading EDIDs

2012-02-23 Thread Linus Torvalds
On Thu, Feb 23, 2012 at 12:15 PM, Linus Torvalds wrote: > > Sadly, this doesn't seem to make any difference to my case. My xrandr > stays at 0.555s even with this patch. Btw, profiling with call chains seems to say that it all comes from intel_sdvo_get_analog_edid() (about half from intel_sdvo_g

[PATCH] drm: Reduce the number of retries whilst reading EDIDs

2012-02-23 Thread Linus Torvalds
On Thu, Feb 23, 2012 at 12:15 PM, Linus Torvalds wrote: > > Sadly, this doesn't seem to make any difference to my case. My xrandr > stays at 0.555s even with this patch. Btw, profiling with call chains seems to say that it all comes from intel_sdvo_get_analog_edid() (about half from intel_sdvo_g

Re: [PATCH] drm: Reduce the number of retries whilst reading EDIDs

2012-02-23 Thread Linus Torvalds
On Thu, Feb 23, 2012 at 11:52 AM, Chris Wilson wrote: > > i2c retries if sees an EGAIN, drm_do_probe_ddc_edid retries until it > gets a result and *then* drm_do_get_edid retries until it gets a result > it is happy with. All in all, that is a lot of processor intensive > looping in cases where we

[PATCH] drm: Reduce the number of retries whilst reading EDIDs

2012-02-23 Thread Linus Torvalds
On Thu, Feb 23, 2012 at 11:52 AM, Chris Wilson wrote: > > i2c retries if sees an EGAIN, drm_do_probe_ddc_edid retries until it > gets a result and *then* drm_do_get_edid retries until it gets a result > it is happy with. All in all, that is a lot of processor intensive > looping in cases where we

[PATCH] drm: Reduce the number of retries whilst reading EDIDs

2012-02-23 Thread Chris Wilson
i2c retries if sees an EGAIN, drm_do_probe_ddc_edid retries until it gets a result and *then* drm_do_get_edid retries until it gets a result it is happy with. All in all, that is a lot of processor intensive looping in cases where we do not expect and cannot get valid data - for example on Intel wi