On 1/23/23 9:35 AM, Nadav Amit wrote:
+    if (IS_ENABLED(CONFIG_MMU_LAZY_TLB_REFCOUNT)) {
+        mmdrop(mm);
+    } else {
+        /*
+         * mmdrop_lazy_tlb must provide a full memory barrier, see the
+         * membarrier comment finish_task_switch which relies on this.
+         */
+        smp_mb();
+    }
  }

Considering the fact that mmdrop_lazy_tlb() replaced mmdrop() in various locations in which smp_mb() was not required, this comment might be confusing. IOW, for the cases in most cases where mmdrop_lazy_tlb() replaced mmdrop(), this comment was irrelevant, and therefore it now becomes confusing.

I am not sure the include the smp_mb() here instead of "open-coding" it helps.
I think that I now understand why you do need the smp_mb() here, so ignore my comment.

Reply via email to