Lines Matching refs:pos
770 struct cgroup_subsys_state *css_next_child(struct cgroup_subsys_state *pos,
777 * @pos: the css * to use as the loop cursor
790 * caller is responsible for ensuring that @pos remains accessible until
793 #define css_for_each_child(pos, parent) \
794 for ((pos) = css_next_child(NULL, (parent)); (pos); \
795 (pos) = css_next_child((pos), (parent)))
798 css_next_descendant_pre(struct cgroup_subsys_state *pos,
802 css_rightmost_descendant(struct cgroup_subsys_state *pos);
806 * @pos: the css * to use as the loop cursor
831 * css_for_each_descendant_pre(@pos, @css) {
832 * Lock @pos;
833 * if (@pos == @css)
836 * Verify @pos is alive and inherit state from its parent;
837 * Unlock @pos;
842 * enclosed inside @pos locking, double-locking the parent isn't necessary
845 * same @pos are atomic to each other, multiple updates racing each other
850 * iteration should lock and unlock both @pos->parent and @pos.
857 * caller is responsible for ensuring that @pos remains accessible until
860 #define css_for_each_descendant_pre(pos, css) \
861 for ((pos) = css_next_descendant_pre(NULL, (css)); (pos); \
862 (pos) = css_next_descendant_pre((pos), (css)))
865 css_next_descendant_post(struct cgroup_subsys_state *pos,
870 * @pos: the css * to use as the loop cursor
887 #define css_for_each_descendant_post(pos, css) \
888 for ((pos) = css_next_descendant_post(NULL, (css)); (pos); \
889 (pos) = css_next_descendant_post((pos), (css)))