https://github.com/torvalds/linux
Revision 53de7c26ded7f5e954bfc202dffc43c0dd165337 authored by Thierry Reding on 25 July 2016, 14:23:40 UTC, committed by Thierry Reding on 25 July 2016, 14:23:40 UTC
2 parent s 070d9a9 + 58fd822
Raw File
Tip revision: 53de7c26ded7f5e954bfc202dffc43c0dd165337 authored by Thierry Reding on 25 July 2016, 14:23:40 UTC
Merge branch 'for-4.8/regulator' into for-next
Tip revision: 53de7c2
nodemask.c
#include <linux/nodemask.h>
#include <linux/module.h>
#include <linux/random.h>

int __next_node_in(int node, const nodemask_t *srcp)
{
	int ret = __next_node(node, srcp);

	if (ret == MAX_NUMNODES)
		ret = __first_node(srcp);
	return ret;
}
EXPORT_SYMBOL(__next_node_in);

#ifdef CONFIG_NUMA
/*
 * Return the bit number of a random bit set in the nodemask.
 * (returns NUMA_NO_NODE if nodemask is empty)
 */
int node_random(const nodemask_t *maskp)
{
	int w, bit = NUMA_NO_NODE;

	w = nodes_weight(*maskp);
	if (w)
		bit = bitmap_ord_to_pos(maskp->bits,
			get_random_int() % w, MAX_NUMNODES);
	return bit;
}
#endif
back to top