I extended the HWSP implementation to consider the impact of using it for HW semaphores, one of the end goals of per-context seqno. That opens up an interesting problem in that we need to keep the HWSP around until all external GPU references to it are retired. For simplicity, this is until the GPU is next idle, but Tvrtko suggested the likelihood of that happening on a busy system is slight and those busy systems are also more likely to run into resource contentions issues as well. That was a can of worms I was hoping to ignore until later, as one of the simplifications for removing the global_seqno was that we could simply keep all resources pinned until idle, a full GC. With a full GC being forced if we ever starved. Far more graceful is that if we did a more incremental GC, and combined with the case of tracking external references we would end up with a read-copy-update mechanism... Anyway this series shows off HW semaphores for inter-engine synchronisation and should also extend easily to unordered work queuing unto the GuC. I need the fence primitives for the next (well, older!) series... -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx