linux/drivers/gpu/drm/i915
Eric Anholt b962442e46 drm/i915: Change GEM throttling to be 20ms like the comment says.
keithp didn't like the original 20ms plan because a cooperative client could
be starved by an uncooperative client.  There may even have been problems
with cooperative clients versus cooperative clients.  So keithp changed
throttle to just wait for the second to last seqno emitted by that client.
It worked well, until we started getting more round-trips to the server
due to DRI2 -- the server throttles in BlockHandler, and so if you did more
than one round trip after finishing your frame, you'd end up unintentionally
syncing to the swap.

Fix this by keeping track of the client's requests, so the client can wait
when it has an outstanding request over 20ms old.  This should have
non-starving behavior, good behavior in the presence of restarts, and less
waiting.  Improves high-settings openarena performance on my GM45 by 50%.

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-06-04 11:44:22 +00:00
..
dvo.h drm/i915: fix sparse warnings: move 'extern' decls to header file 2008-12-29 17:47:26 +10:00
dvo_ch7xxx.c DRM: i915: add mode setting support 2008-12-29 17:47:23 +10:00
dvo_ch7017.c DRM: i915: add mode setting support 2008-12-29 17:47:23 +10:00
dvo_ivch.c DRM: i915: add mode setting support 2008-12-29 17:47:23 +10:00
dvo_sil164.c DRM: i915: add mode setting support 2008-12-29 17:47:23 +10:00
dvo_tfp410.c DRM: i915: add mode setting support 2008-12-29 17:47:23 +10:00
i915_dma.c drm/i915: Change GEM throttling to be 20ms like the comment says. 2009-06-04 11:44:22 +00:00
i915_drv.c drm/i915: Unregister ACPI video driver when exiting 2009-04-17 13:31:07 -07:00
i915_drv.h drm/i915: Change GEM throttling to be 20ms like the comment says. 2009-06-04 11:44:22 +00:00
i915_gem.c drm/i915: Change GEM throttling to be 20ms like the comment says. 2009-06-04 11:44:22 +00:00
i915_gem_debug.c drm/i915: Add a spinlock to protect the active_list 2009-04-01 15:22:07 -07:00
i915_gem_debugfs.c drm/i915: Implement batch and ring buffer dumping 2009-04-08 10:18:06 -07:00
i915_gem_tiling.c drm/i915: Fix tiling pitch handling on 8xx. 2009-05-26 19:11:31 -07:00
i915_ioc32.c drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
i915_irq.c drm/i915: Don't let an oops get triggered from irq_emit without dma init. 2009-04-17 13:30:50 -07:00
i915_mem.c drm: move to kref per-master structures. 2008-12-29 17:47:22 +10:00
i915_opregion.c drm/i915: Enable ASLE if present 2009-04-17 13:31:09 -07:00
i915_reg.h drm/i915: Fix tiling pitch handling on 8xx. 2009-05-26 19:11:31 -07:00
i915_suspend.c drm/i915: Save/restore cursor state on suspend/resume. 2009-06-04 11:43:11 +00:00
intel_bios.c drm/i915: Fetch SDVO LVDS mode lines from VBT, then reserve them 2009-05-22 12:54:22 -07:00
intel_bios.h drm/i915: Fetch SDVO LVDS mode lines from VBT, then reserve them 2009-05-22 12:54:22 -07:00
intel_crt.c drm/i915: Add support for VGA load detection (pre-945). 2009-05-26 10:34:47 -07:00
intel_display.c i915: support 8xx desktop cursors 2009-05-22 12:31:14 -07:00
intel_drv.h drm/i915: Add new GET_PIPE_FROM_CRTC_ID ioctl. 2009-05-14 16:00:32 -07:00
intel_dvo.c drm/i915: fix sparse warnings: move 'extern' decls to header file 2008-12-29 17:47:26 +10:00
intel_fb.c sysrq, intel_fb: fix sysrq g collision 2009-05-15 07:56:24 -05:00
intel_hdmi.c drm/i915: Set HDMI hot plug interrupt enable for only the output in question. 2009-05-14 16:00:31 -07:00
intel_i2c.c drm/i915: workaround IGD i2c bus issue in kernel side (v2) 2009-05-14 16:00:26 -07:00
intel_lvds.c drm/i915: Fetch SDVO LVDS mode lines from VBT, then reserve them 2009-05-22 12:54:22 -07:00
intel_modes.c drm/i915: workaround IGD i2c bus issue in kernel side (v2) 2009-05-14 16:00:26 -07:00
intel_sdvo.c drm/i915: Use an I2C algo to do the flip to SDVO DDC bus. 2009-05-22 13:21:31 -07:00
intel_sdvo_regs.h drm/i915: Fix SDVO CREATE_PREFERRED_INPUT_TIMING command 2009-04-01 15:22:04 -07:00
intel_tv.c drm/i915: fix TV mode setting in property change 2009-04-01 15:22:00 -07:00
Makefile drm/i915: Convert i915 proc files to seq_file and move to debugfs. 2009-03-27 15:12:01 -07:00