On Thu, Aug 22, 2024 at 05:17:14PM +0100, Catalin Marinas wrote:
quoted
/*
- * Ensure that GCS changes are observable by/from other PEs in
- * case of migration.
+ * Ensure that GCS memory effects of the 'prev' thread are
+ * ordered before other memory accesses with release semantics
+ * (or preceded by a DMB) on the current PE. In addition, any
+ * memory accesses with acquire semantics (or succeeded by a
+ * DMB) are ordered before GCS memory effects of the 'next'
+ * thread. This will ensure that the GCS memory effects are
+ * visible to other PEs in case of migration.
*/
- gcsb_dsync();
+ if (task_gcs_el0_enabled(current) || task_gcs_el0_enabled(next))
+ gcsb_dsync();
Ah, the comment turned up in this patch. It looks fine.
Oh, sorry - I should probably just pull this hunk into the other patch.