Commit 24bf401c authored by Ahmed S. Darwish's avatar Ahmed S. Darwish Committed by Peter Zijlstra

rbtree_latch: Use seqcount_latch_t

Latch sequence counters have unique read and write APIs, and thus
seqcount_latch_t was recently introduced at seqlock.h.

Use that new data type instead of plain seqcount_t. This adds the
necessary type-safety and ensures that only latching-safe seqcount APIs
are to be used.
Signed-off-by: default avatarAhmed S. Darwish <a.darwish@linutronix.de>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200827114044.11173-8-a.darwish@linutronix.de
parent a1f10661
...@@ -42,8 +42,8 @@ struct latch_tree_node { ...@@ -42,8 +42,8 @@ struct latch_tree_node {
}; };
struct latch_tree_root { struct latch_tree_root {
seqcount_t seq; seqcount_latch_t seq;
struct rb_root tree[2]; struct rb_root tree[2];
}; };
/** /**
...@@ -206,7 +206,7 @@ latch_tree_find(void *key, struct latch_tree_root *root, ...@@ -206,7 +206,7 @@ latch_tree_find(void *key, struct latch_tree_root *root,
do { do {
seq = raw_read_seqcount_latch(&root->seq); seq = raw_read_seqcount_latch(&root->seq);
node = __lt_find(key, root, seq & 1, ops->comp); node = __lt_find(key, root, seq & 1, ops->comp);
} while (read_seqcount_retry(&root->seq, seq)); } while (read_seqcount_latch_retry(&root->seq, seq));
return node; return node;
} }
......
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