On 24/05/2023 12:00, Tvrtko Ursulin wrote:
On 24/05/2023 10:05, Luca Coelho wrote:
8<
if (pool_free_older_than(pool, HZ))
- schedule_delayed_work(&pool->work,
- round_jiffies_up_relative(HZ));
+ queue_delayed_work(gt->i915->unordered_wq, &pool->work,
+ round_jiffies_up_relative(HZ));
}
static void pool_retire(struct i915_active *ref)
@@ -99,6 +100,7 @@ static void pool_retire(struct i915_active *ref)
struct intel_gt_buffer_pool_node *node =
container_of(ref, typeof(*node), active);
struct intel_gt_buffer_pool *pool = node->pool;
+ struct intel_gt *gt = container_of(pool, struct intel_gt,
buffer_pool);
... although I am beginning to wonder if intel_gt_buffer_pool shouldn't
just gain a gt backpointer? That would decouple things more instead of
tying the implementation with intel_gt implicitly. Not a strong
direction though.
Never mind on this point, code already assumes this relationships for
instance in node_create().
Regards,
Tvrtko