Simple buddy allocator. We want to allocate properly aligned
power-of-two blocks to promote usage of huge-pages for the GTT, so 64K,
2M and possibly even 1G. While we do support allocating stuff at a
specific offset, it is more intended for preallocating portions of the
address space, say for an in
Quoting Matthew Auld (2019-06-27 21:55:57)
> Simple buddy allocator. We want to allocate properly aligned
> power-of-two blocks to promote usage of huge-pages for the GTT, so 64K,
> 2M and possibly even 1G. While we do support allocating stuff at a
> specific offset, it is more intended for preallo
Quoting Matthew Auld (2019-06-27 21:55:57)
> +static void __i915_buddy_free(struct i915_buddy_mm *mm,
> + struct i915_buddy_block *block)
> +{
> + list_del_init(&block->link); /* We have ownership now */
That is an important observation. Even more important is tha