[Intel-gfx] [PATCH] drm/i915: Allow objects to go back above 4GB in the address range

Michel Thierry michel.thierry at intel.com
Mon Dec 14 02:18:02 PST 2015

On 12/11/2015 6:57 PM, Daniel Vetter wrote:
> On Fri, Dec 11, 2015 at 02:49:52PM +0000, Chris Wilson wrote:
>> On Fri, Dec 11, 2015 at 02:34:13PM +0000, Michel Thierry wrote:
>>> We detected if objects should be moved to the lower parts when 48-bit
>>> support flag was not set, but not the other way around.
>>> This handles the case in which an object was allocated in the 32-bit
>>> address range, but it has been marked as safe to move above it, which
>>> theoretically would help to keep the lower addresses available for
>>> objects which really need to be there.
>>> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
>>> Signed-off-by: Michel Thierry <michel.thierry at intel.com>
>> No. This is not lazy. When we run out of low space, we evict. Until then
>> don't cause extra work for no reason.
> Yeah, this stuff should just work. First the eviction code should kick
> stuff out, and if we totally deadlock then we'll retry with everything
> placed nicely. Long-term objects should segregate (assuming you're not
> mixing them up badly in the userspace cache).
> How did this come up? I think there's a more in-depth story to be shared
> here, with some perf data to illustrate it ...


It came from some local testing; Daniele saw bo's with the support flag 
enabled staying in the 32-bit range (the test was changing the flag 
between submissions).

If there's no space constraints, re-enabling the flag won't relocate 
them, only when evict is required as you said... and that's not really 
an issue.

Sorry for the noise.


More information about the Intel-gfx mailing list