Skip to contentSkip to conversation

ipc/mqueue: remove unnecessary rb_init_node calls

PATCH In review Michel Lespinasse 2 participants 2 messages Jul 18, 2012 Memory management

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ipc/mqueue: remove unnecessary rb_init_node calls

I previously sent out my rbtree patches against v3.4, however in private email Andrew notified me that they broke some builds due to some new rb_init_node calls that have been introduced after v3.4. No big deal and it's an easy fix, but I forgot to CC the usual lists and now some people need the fix in order to try out the patches. So here it is :)

----- Forwarded message from Michel Lespinasse <[email protected]> -----

Date: Tue, 17 Jul 2012 17:30:35 -0700
From: Michel Lespinasse <[email protected]>
To: Andrew Morton <[email protected]>
Cc: Doug Ledford <[email protected]>
Subject: [PATCH] ipc/mqueue: remove unnecessary rb_init_node calls

Commits d6629859 and ce2d52cc 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).

---
 ipc/mqueue.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)
ipc/mqueue.c +0 -3
index 8ce5769..4439c69 100644
@@ -142,7 +142,6 @@ static int msg_insert(struct msg_msg *msg, struct mqueue_inode_info *info)
 		leaf = kmalloc(sizeof(*leaf), GFP_ATOMIC);
 		if (!leaf)
 			return -ENOMEM;
-		rb_init_node(&leaf->rb_node);
 		INIT_LIST_HEAD(&leaf->msg_list);
 		info->qsize += sizeof(*leaf);
 	}
@@ -1041,7 +1040,6 @@ SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr,
 
 	if (!info->node_cache && new_leaf) {
 		/* Save our speculative allocation into the cache */
-		rb_init_node(&new_leaf->rb_node);
 		INIT_LIST_HEAD(&new_leaf->msg_list);
 		info->node_cache = new_leaf;
 		info->qsize += sizeof(*new_leaf);
@@ -1149,7 +1147,6 @@ SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr,
 
 	if (!info->node_cache && new_leaf) {
 		/* Save our speculative allocation into the cache */
-		rb_init_node(&new_leaf->rb_node);
 		INIT_LIST_HEAD(&new_leaf->msg_list);
 		info->node_cache = new_leaf;
 		info->qsize += sizeof(*new_leaf);
Signature · 7 lines
1.7.7.3

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email protected].  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>
Reviewed-by on v1 1/1
#1 lore raw
Quoted 20 lines · Michel Lespinasse

I previously sent out my rbtree patches against v3.4, however in private email Andrew notified me that they broke some builds due to some new rb_init_node calls that have been introduced after v3.4. No big deal and it's an easy fix, but I forgot to CC the usual lists and now some people need the fix in order to try out the patches. So here it is :)

----- Forwarded message from Michel Lespinasse <[email protected]> -----

Date: Tue, 17 Jul 2012 17:30:35 -0700
From: Michel Lespinasse <[email protected]>
To: Andrew Morton <[email protected]>
Cc: Doug Ledford <[email protected]>
Subject: [PATCH] ipc/mqueue: remove unnecessary rb_init_node calls

Commits d6629859 and ce2d52cc 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.

Quoted 6 lines

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).

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>