[PATCH v10 1/4] drm/xe/vf: Divide GGTT ballooning into allocation and insertion

Michal Wajdeczko michal.wajdeczko at intel.com
Thu Apr 17 18:10:57 UTC 2025



On 16.04.2025 00:20, Tomasz Lis wrote:
> The balloon nodes, which are used to fill areas of GGTT inaccessible
> for a specific VF, were allocated and inserted into GGTT within one
> function. To be able to re-use that insertion code during VF
> migration recovery, we need to split it.
> 
> This patch separates allocation (init/fini functs) from the insertion
> of balloons (balloon/deballoon functs). Locks are also moved to ensure
> calls from post-migration recovery worker will not cause a deadlock.
> 
> v2: Moved declarations to proper header
> v3: Rephrased description, introduced "_locked" versions of some
>   functs, more lockdep checks, some functions renamed, altered error
>   handling, added missing kerneldocs.
> v4: Suffixed more functs with `_locked`, moved lockdep asserts,
>   fixed finalization in error path, added asserts
> v5: Renamed another few functs, used xe_ggtt_node_allocated(),
>   moved lockdep back again to avoid null dereference, added
>   asserts, improved comments
> v6: Changed params of cleanup_ggtt()
> 
> Signed-off-by: Tomasz Lis <tomasz.lis at intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>
> ---

hmm, still not 100% happy with all this gt<->tile dance that seems to be
unavoidable right now, likely we need to do little refactor and move
some stuff to xe_tile_sriov_vf.* files, but that's really not your
fault, so let this is in as-is and try to cleanup later,

Reviewed-by: Michal Wajdeczko <michal.wajdeczko at intel.com>



More information about the Intel-xe mailing list