Commit 1638113d authored by Michel Lespinasse's avatar Michel Lespinasse Committed by Linus Torvalds

ipc/mqueue: remove unnecessary rb_init_node() calls

Commit d6629859 ("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: default avatarMichel Lespinasse <walken@google.com>
Acked-by: default avatarDoug Ledford <dledford@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 1ae1c1d0
...@@ -142,7 +142,6 @@ static int msg_insert(struct msg_msg *msg, struct mqueue_inode_info *info) ...@@ -142,7 +142,6 @@ static int msg_insert(struct msg_msg *msg, struct mqueue_inode_info *info)
leaf = kmalloc(sizeof(*leaf), GFP_ATOMIC); leaf = kmalloc(sizeof(*leaf), GFP_ATOMIC);
if (!leaf) if (!leaf)
return -ENOMEM; return -ENOMEM;
rb_init_node(&leaf->rb_node);
INIT_LIST_HEAD(&leaf->msg_list); INIT_LIST_HEAD(&leaf->msg_list);
info->qsize += sizeof(*leaf); info->qsize += sizeof(*leaf);
} }
...@@ -1013,7 +1012,6 @@ SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr, ...@@ -1013,7 +1012,6 @@ SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr,
if (!info->node_cache && new_leaf) { if (!info->node_cache && new_leaf) {
/* Save our speculative allocation into the cache */ /* Save our speculative allocation into the cache */
rb_init_node(&new_leaf->rb_node);
INIT_LIST_HEAD(&new_leaf->msg_list); INIT_LIST_HEAD(&new_leaf->msg_list);
info->node_cache = new_leaf; info->node_cache = new_leaf;
info->qsize += sizeof(*new_leaf); info->qsize += sizeof(*new_leaf);
...@@ -1121,7 +1119,6 @@ SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr, ...@@ -1121,7 +1119,6 @@ SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr,
if (!info->node_cache && new_leaf) { if (!info->node_cache && new_leaf) {
/* Save our speculative allocation into the cache */ /* Save our speculative allocation into the cache */
rb_init_node(&new_leaf->rb_node);
INIT_LIST_HEAD(&new_leaf->msg_list); INIT_LIST_HEAD(&new_leaf->msg_list);
info->node_cache = new_leaf; info->node_cache = new_leaf;
info->qsize += sizeof(*new_leaf); info->qsize += sizeof(*new_leaf);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment