aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2009-06-13 00:27:00 -0400
committerRusty Russell <rusty@rustcorp.com.au>2009-06-12 08:57:00 -0400
commitf7027c6387d0c3acf569845165ec7947e2083c82 (patch)
tree306f36650d615491d468e040d7055b07053d2fb6 /Documentation
parent1028375e93a7aa4dbe466947d1c65f368b1f61c1 (diff)
lguest: get more serious about wmb() in example Launcher code
Since the Launcher process runs the Guest, it doesn't have to be very serious about its barriers: the Guest isn't running while we are (Guest is UP). Before we change to use threads to service devices, we need to fix this. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/lguest/lguest.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/Documentation/lguest/lguest.c b/Documentation/lguest/lguest.c
index 1a2b906a3ae6..1e31d1ec12a3 100644
--- a/Documentation/lguest/lguest.c
+++ b/Documentation/lguest/lguest.c
@@ -182,9 +182,10 @@ struct virtqueue
182/* Remember the arguments to the program so we can "reboot" */ 182/* Remember the arguments to the program so we can "reboot" */
183static char **main_args; 183static char **main_args;
184 184
185/* Since guest is UP and we don't run at the same time, we don't need barriers. 185/* We have to be careful with barriers: our devices are all run in separate
186 * But I include them in the code in case others copy it. */ 186 * threads and so we need to make sure that changes visible to the Guest happen
187#define wmb() 187 * in precise order. */
188#define wmb() __asm__ __volatile__("" : : : "memory")
188 189
189/* Convert an iovec element to the given type. 190/* Convert an iovec element to the given type.
190 * 191 *