From b836b848251f6dc7c45f5455df8c84168c6fc8e6 Mon Sep 17 00:00:00 2001 From: Balazs Gerofi Date: Sun, 25 Dec 2016 17:19:14 +0900 Subject: [PATCH] mcexec_prepare_image(): use memory barrier when updating request status --- executer/kernel/mcctrl/control.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/executer/kernel/mcctrl/control.c b/executer/kernel/mcctrl/control.c index c6cf6ac7..dbb37f20 100644 --- a/executer/kernel/mcctrl/control.c +++ b/executer/kernel/mcctrl/control.c @@ -179,6 +179,7 @@ static long mcexec_prepare_image(ihk_os_t os, dprintk("%p (%lx)\n", pdesc, isp.arg); pdesc->status = 0; + mb(); mcctrl_ikc_send(os, pdesc->cpu, &isp); while (wait_event_interruptible(ppd->wq_prepare, pdesc->status) != 0); @@ -1570,6 +1571,7 @@ void mcexec_prepare_ack(ihk_os_t os, unsigned long arg, int err) desc->err = err; desc->status = 1; + mb(); wake_up_all(&ppd->wq_prepare); mcctrl_put_per_proc_data(ppd);