[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1400012857-11733-5-git-send-email-davidlohr@hp.com>
Date: Tue, 13 May 2014 13:27:36 -0700
From: Davidlohr Bueso <davidlohr@...com>
To: manfred@...orfullife.com, akpm@...ux-foundation.org
Cc: davidlohr@...com, aswin@...com, linux-kernel@...r.kernel.org
Subject: [PATCH 4/5] ipc,msg: document volatile r_msg
The need for volatile is not obvious, document it.
Signed-off-by: Davidlohr Bueso <davidlohr@...com>
---
ipc/msg.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/ipc/msg.c b/ipc/msg.c
index c2cdb5b..956cd65 100644
--- a/ipc/msg.c
+++ b/ipc/msg.c
@@ -42,9 +42,7 @@
#include <linux/uaccess.h>
#include "util.h"
-/*
- * one msg_receiver structure for each sleeping receiver:
- */
+/* one msg_receiver structure for each sleeping receiver */
struct msg_receiver {
struct list_head r_list;
struct task_struct *r_tsk;
@@ -54,6 +52,12 @@ struct msg_receiver {
long r_msgtype;
long r_maxsize;
+ /*
+ * Mark r_msg volatile so that the compiler
+ * does not try to get smart and optimize
+ * it. We rely on this for the lockless
+ * receive algorithm.
+ */
struct msg_msg *volatile r_msg;
};
--
1.8.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists