aboutsummaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2011-04-19 01:55:58 -0400
committerIngo Molnar <mingo@elte.hu>2011-04-19 01:56:17 -0400
commit68d2cf25d39324c54b5e42de7915c623a0917abe (patch)
treeff1291450d7e6630bc77ec1363c3db8d74fa58b0 /ipc
parent176fcc5c5f0131504a55e1e1d35389c49a9177c2 (diff)
parent5d2cd90922c778908bd0cd669e572a5b5eafd737 (diff)
Merge branch 'perf/urgent' into perf/core
Merge reason: we'll be queueing up dependent changes. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'ipc')
-rw-r--r--ipc/msg.c4
-rw-r--r--ipc/sem.c2
-rw-r--r--ipc/shm.c2
3 files changed, 4 insertions, 4 deletions
diff --git a/ipc/msg.c b/ipc/msg.c
index 0e732e92e22f..7385de25788a 100644
--- a/ipc/msg.c
+++ b/ipc/msg.c
@@ -704,7 +704,7 @@ long do_msgsnd(int msqid, long mtype, void __user *mtext,
704 msq->q_stime = get_seconds(); 704 msq->q_stime = get_seconds();
705 705
706 if (!pipelined_send(msq, msg)) { 706 if (!pipelined_send(msq, msg)) {
707 /* noone is waiting for this message, enqueue it */ 707 /* no one is waiting for this message, enqueue it */
708 list_add_tail(&msg->m_list, &msq->q_messages); 708 list_add_tail(&msg->m_list, &msq->q_messages);
709 msq->q_cbytes += msgsz; 709 msq->q_cbytes += msgsz;
710 msq->q_qnum++; 710 msq->q_qnum++;
@@ -842,7 +842,7 @@ long do_msgrcv(int msqid, long *pmtype, void __user *mtext,
842 * Disable preemption. We don't hold a reference to the queue 842 * Disable preemption. We don't hold a reference to the queue
843 * and getting a reference would defeat the idea of a lockless 843 * and getting a reference would defeat the idea of a lockless
844 * operation, thus the code relies on rcu to guarantee the 844 * operation, thus the code relies on rcu to guarantee the
845 * existance of msq: 845 * existence of msq:
846 * Prior to destruction, expunge_all(-EIRDM) changes r_msg. 846 * Prior to destruction, expunge_all(-EIRDM) changes r_msg.
847 * Thus if r_msg is -EAGAIN, then the queue not yet destroyed. 847 * Thus if r_msg is -EAGAIN, then the queue not yet destroyed.
848 * rcu_read_lock() prevents preemption between reading r_msg 848 * rcu_read_lock() prevents preemption between reading r_msg
diff --git a/ipc/sem.c b/ipc/sem.c
index ae040a0727c2..34193ed69fbe 100644
--- a/ipc/sem.c
+++ b/ipc/sem.c
@@ -1362,7 +1362,7 @@ SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsops,
1362 * semid identifiers are not unique - find_alloc_undo may have 1362 * semid identifiers are not unique - find_alloc_undo may have
1363 * allocated an undo structure, it was invalidated by an RMID 1363 * allocated an undo structure, it was invalidated by an RMID
1364 * and now a new array with received the same id. Check and fail. 1364 * and now a new array with received the same id. Check and fail.
1365 * This case can be detected checking un->semid. The existance of 1365 * This case can be detected checking un->semid. The existence of
1366 * "un" itself is guaranteed by rcu. 1366 * "un" itself is guaranteed by rcu.
1367 */ 1367 */
1368 error = -EIDRM; 1368 error = -EIDRM;
diff --git a/ipc/shm.c b/ipc/shm.c
index 8644452f5c4c..729acb7e3148 100644
--- a/ipc/shm.c
+++ b/ipc/shm.c
@@ -1056,7 +1056,7 @@ SYSCALL_DEFINE1(shmdt, char __user *, shmaddr)
1056 /* 1056 /*
1057 * We need look no further than the maximum address a fragment 1057 * We need look no further than the maximum address a fragment
1058 * could possibly have landed at. Also cast things to loff_t to 1058 * could possibly have landed at. Also cast things to loff_t to
1059 * prevent overflows and make comparisions vs. equal-width types. 1059 * prevent overflows and make comparisons vs. equal-width types.
1060 */ 1060 */
1061 size = PAGE_ALIGN(size); 1061 size = PAGE_ALIGN(size);
1062 while (vma && (loff_t)(vma->vm_end - addr) <= size) { 1062 while (vma && (loff_t)(vma->vm_end - addr) <= size) {