cregit-Linux how code gets into the kernel

Release 4.14 arch/s390/numa/toptree.h

Directory: arch/s390/numa
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * NUMA support for s390
 *
 * A tree structure used for machine topology mangling
 *
 * Copyright IBM Corp. 2015
 */
#ifndef S390_TOPTREE_H

#define S390_TOPTREE_H

#include <linux/cpumask.h>
#include <linux/list.h>


struct toptree {
	
int level;
	
int id;
	
cpumask_t mask;
	
struct toptree *parent;
	
struct list_head sibling;
	
struct list_head children;
};

struct toptree *toptree_alloc(int level, int id);
void toptree_free(struct toptree *cand);
void toptree_update_mask(struct toptree *cand);
void toptree_unify(struct toptree *cand);
struct toptree *toptree_get_child(struct toptree *cand, int id);
void toptree_move(struct toptree *cand, struct toptree *target);
int toptree_count(struct toptree *context, int level);

struct toptree *toptree_first(struct toptree *context, int level);
struct toptree *toptree_next(struct toptree *cur, struct toptree *context,
			     int level);


#define toptree_for_each_child(child, ptree)				\
	list_for_each_entry(child,  &ptree->children, sibling)


#define toptree_for_each_child_safe(child, ptmp, ptree)			\
	list_for_each_entry_safe(child, ptmp, &ptree->children, sibling)


#define toptree_is_last(ptree)					\
	((ptree->parent == NULL) ||                             \
         (ptree->parent->children.prev == &ptree->sibling))


#define toptree_for_each(ptree, cont, ttype)		\
	for (ptree = toptree_first(cont, ttype);        \
             ptree != NULL;                             \
             ptree = toptree_next(ptree, cont, ttype))


#define toptree_for_each_safe(ptree, tmp, cont, ttype)		\
	for (ptree = toptree_first(cont, ttype),                \
                     tmp = toptree_next(ptree, cont, ttype);    \
             ptree != NULL;                                     \
             ptree = tmp,                                       \
                     tmp = toptree_next(ptree, cont, ttype))


#define toptree_for_each_sibling(ptree, start)			\
	toptree_for_each(ptree, start->parent, start->level)

#endif /* S390_TOPTREE_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
Philipp Hachtmann22199.55%150.00%
Greg Kroah-Hartman10.45%150.00%
Total222100.00%2100.00%
Directory: arch/s390/numa
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.