diff options
author | Michel Lespinasse <walken@google.com> | 2012-10-08 19:30:26 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-09 03:22:31 -0400 |
commit | 1638113d9d8b7e04c1eeae9014d43f6381a74040 (patch) | |
tree | 6eccf05889ebd3ebf916a602b4c8dc74b2f8105f /ipc/mqueue.c | |
parent | 1ae1c1d09f220ded48ee9a7d91a65e94f95c4af1 (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.c | 3 |
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); |