aboutsummaryrefslogtreecommitdiffstats
path: root/ipc/mqueue.c
diff options
context:
space:
mode:
authorMichel Lespinasse <walken@google.com>2012-10-08 19:30:26 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-09 03:22:31 -0400
commit1638113d9d8b7e04c1eeae9014d43f6381a74040 (patch)
tree6eccf05889ebd3ebf916a602b4c8dc74b2f8105f /ipc/mqueue.c
parent1ae1c1d09f220ded48ee9a7d91a65e94f95c4af1 (diff)
ipc/mqueue: remove unnecessary rb_init_node() calls
Commit d6629859b36d ("ipc/mqueue: improve performance of send/recv") and ce2d52cc ("ipc/mqueue: add rbtree node caching support") introduced an rbtree of message priorities, and usage of rb_init_node() to initialize the corresponding nodes. As it turns out, rb_init_node() is unnecessary here, as the nodes are fully initialized on insertion by rb_link_node() and the code doesn't access nodes that aren't inserted on the rbtree. Removing the rb_init_node() calls as I removed that function during rbtree API cleanups (the only other use of it was in a place that similarly didn't require it). Signed-off-by: Michel Lespinasse <walken@google.com> Acked-by: Doug Ledford <dledford@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'ipc/mqueue.c')
-rw-r--r--ipc/mqueue.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index 6d255e535d03..6b97e2466fad 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -142,7 +142,6 @@ static int msg_insert(struct msg_msg *msg, struct mqueue_inode_info *info)
142 leaf = kmalloc(sizeof(*leaf), GFP_ATOMIC); 142 leaf = kmalloc(sizeof(*leaf), GFP_ATOMIC);
143 if (!leaf) 143 if (!leaf)
144 return -ENOMEM; 144 return -ENOMEM;
145 rb_init_node(&leaf->rb_node);
146 INIT_LIST_HEAD(&leaf->msg_list); 145 INIT_LIST_HEAD(&leaf->msg_list);
147 info->qsize += sizeof(*leaf); 146 info->qsize += sizeof(*leaf);
148 } 147 }
@@ -1013,7 +1012,6 @@ SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr,
1013 1012
1014 if (!info->node_cache && new_leaf) { 1013 if (!info->node_cache && new_leaf) {
1015 /* Save our speculative allocation into the cache */ 1014 /* Save our speculative allocation into the cache */
1016 rb_init_node(&new_leaf->rb_node);
1017 INIT_LIST_HEAD(&new_leaf->msg_list); 1015 INIT_LIST_HEAD(&new_leaf->msg_list);
1018 info->node_cache = new_leaf; 1016 info->node_cache = new_leaf;
1019 info->qsize += sizeof(*new_leaf); 1017 info->qsize += sizeof(*new_leaf);
@@ -1121,7 +1119,6 @@ SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr,
1121 1119
1122 if (!info->node_cache && new_leaf) { 1120 if (!info->node_cache && new_leaf) {
1123 /* Save our speculative allocation into the cache */ 1121 /* Save our speculative allocation into the cache */
1124 rb_init_node(&new_leaf->rb_node);
1125 INIT_LIST_HEAD(&new_leaf->msg_list); 1122 INIT_LIST_HEAD(&new_leaf->msg_list);
1126 info->node_cache = new_leaf; 1123 info->node_cache = new_leaf;
1127 info->qsize += sizeof(*new_leaf); 1124 info->qsize += sizeof(*new_leaf);