Re: [Xen-devel] [PATCH v7 01/17] rbtree: changes to align the code with Linux tree

2017-07-14 Thread Jan Beulich
>>> On 14.07.17 at 16:57,  wrote:
> The patch aligns the code of rbtree related files with Linux tree.
> This will minimize the conflicts during any future porting from Linux tree.
> 
> Linux commit till f4b477c47332367d35686bd2b808c2156b96d7c7 for rbtree.h
> This includes addition of commented inline functions in rbtree.h, to have
> complete replica from Linux tree.
> 
> Linux commit till 4c60117811171d867d4f27f17ea07d7419d45dae for rbtree.c
> This includes updates in comments in header note in rbtree.c.
> 
> Signed-off-by: Praveen Kumar 
> ---

This time it is completely unclear what the difference to v6 is. I
think it was pointed out before that below this marker there should
be a brief description of what changed over the previous version.
Also please slow down your submission rate. Give people time to
look at what you've sent. If you get feedback from one person,
someone else may disagree a few hours later. You don't want to
ping-pong between variants.

Jan


___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


[Xen-devel] [PATCH v7 01/17] rbtree: changes to align the code with Linux tree

2017-07-14 Thread Praveen Kumar
The patch aligns the code of rbtree related files with Linux tree.
This will minimize the conflicts during any future porting from Linux tree.

Linux commit till f4b477c47332367d35686bd2b808c2156b96d7c7 for rbtree.h
This includes addition of commented inline functions in rbtree.h, to have
complete replica from Linux tree.

Linux commit till 4c60117811171d867d4f27f17ea07d7419d45dae for rbtree.c
This includes updates in comments in header note in rbtree.c.

Signed-off-by: Praveen Kumar 
---
 xen/common/rbtree.c  | 633 ---
 xen/include/xen/rbtree.h | 116 +++--
 2 files changed, 413 insertions(+), 336 deletions(-)

diff --git a/xen/common/rbtree.c b/xen/common/rbtree.c
index d91d651d77..167ebfdc4d 100644
--- a/xen/common/rbtree.c
+++ b/xen/common/rbtree.c
@@ -14,7 +14,8 @@
   GNU General Public License for more details.
 
   You should have received a copy of the GNU General Public License
-  along with this program; If not, see .
+  along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
   linux/lib/rbtree.c
 */
@@ -24,261 +25,261 @@
 
 static void __rb_rotate_left(struct rb_node *node, struct rb_root *root)
 {
-struct rb_node *right = node->rb_right;
-struct rb_node *parent = rb_parent(node);
-
-if ((node->rb_right = right->rb_left))
-rb_set_parent(right->rb_left, node);
-right->rb_left = node;
-
-rb_set_parent(right, parent);
-
-if (parent)
-{
-if (node == parent->rb_left)
-parent->rb_left = right;
-else
-parent->rb_right = right;
-}
-else
-root->rb_node = right;
-rb_set_parent(node, right);
+   struct rb_node *right = node->rb_right;
+   struct rb_node *parent = rb_parent(node);
+
+   if ((node->rb_right = right->rb_left))
+   rb_set_parent(right->rb_left, node);
+   right->rb_left = node;
+
+   rb_set_parent(right, parent);
+
+   if (parent)
+   {
+   if (node == parent->rb_left)
+   parent->rb_left = right;
+   else
+   parent->rb_right = right;
+   }
+   else
+   root->rb_node = right;
+   rb_set_parent(node, right);
 }
 
 static void __rb_rotate_right(struct rb_node *node, struct rb_root *root)
 {
-struct rb_node *left = node->rb_left;
-struct rb_node *parent = rb_parent(node);
-
-if ((node->rb_left = left->rb_right))
-rb_set_parent(left->rb_right, node);
-left->rb_right = node;
-
-rb_set_parent(left, parent);
-
-if (parent)
-{
-if (node == parent->rb_right)
-parent->rb_right = left;
-else
-parent->rb_left = left;
-}
-else
-root->rb_node = left;
-rb_set_parent(node, left);
+   struct rb_node *left = node->rb_left;
+   struct rb_node *parent = rb_parent(node);
+
+   if ((node->rb_left = left->rb_right))
+   rb_set_parent(left->rb_right, node);
+   left->rb_right = node;
+
+   rb_set_parent(left, parent);
+
+   if (parent)
+   {
+   if (node == parent->rb_right)
+   parent->rb_right = left;
+   else
+   parent->rb_left = left;
+   }
+   else
+   root->rb_node = left;
+   rb_set_parent(node, left);
 }
 
 void rb_insert_color(struct rb_node *node, struct rb_root *root)
 {
-struct rb_node *parent, *gparent;
-
-while ((parent = rb_parent(node)) && rb_is_red(parent))
-{
-gparent = rb_parent(parent);
-
-if (parent == gparent->rb_left)
-{
-{
-register struct rb_node *uncle = gparent->rb_right;
-if (uncle && rb_is_red(uncle))
-{
-rb_set_black(uncle);
-rb_set_black(parent);
-rb_set_red(gparent);
-node = gparent;
-continue;
-}
-}
-
-if (parent->rb_right == node)
-{
-register struct rb_node *tmp;
-__rb_rotate_left(parent, root);
-tmp = parent;
-parent = node;
-node = tmp;
-}
-
-rb_set_black(parent);
-rb_set_red(gparent);
-__rb_rotate_right(gparent, root);
-} else {
-{
-register struct rb_node *uncle = gparent->rb_left;
-if (uncle && rb_is_red(uncle))
-{
-rb_set_black(uncle);
-rb_set_black(parent);
-rb_set_red(gparent);
-node = gparent;
-continue;
-}
-}
-
-if (parent->rb_left == node)
-{
-