Re: Improve TTMs empty object handling

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

 



On Mon, May 09, 2022 at 03:09:40PM +0200, Christian König wrote:
> Hi everyone,
> 
> re-sending this because Daniel was requesting a background why this is
> useful.

Thanks a lot for typing this up. To make sure this isn't lost, could you
add a patch to at least add this as a comment to
ttm_buffer_object.resource, ideally rolling out the kerneldoc scaffolding
for that file while at it and making it kerneldoc?

I think documenting that kind of why&how for key links like
ttm_bo->ttm_resource is really important.

> When TTM creates a buffer this object initially should not have any
> backing store and there no resource object associated with it. The same
> can happen when a driver requests that the backing store of an object is
> destroyed without allocating a new one.
> 
> This is really useful during initial buffer creation as well as temporary
> buffers and page tables which content doesn't need to be preserved when
> they are evicted.
> 
> Currently TTM allocates dummy system resources for that because drivers
> couldn't handle a NULL pointer there. Audit the drivers and then clean
> up TTM to stop making those dummy allocations.

Also I guess this is good prep work for going the other direction, i.e.
allowing more than one ttm_resource per ttm_bo? Or is that all mostly
orthogonal issues that bo:resource 1:N for N=0 has vs 1:N for N > 1?

> Please review and comment,

I'll ... try. But maybe call in some favours from other i915 ttm folks
because I'm just really bad at doing review timeline these days :-/
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux