cpumask: Remove unnecessary cpumask_nth_andnot()
Commit 94f753143028("x86/resctrl: Optimize cpumask_any_housekeeping()")
switched the only user of cpumask_nth_andnot() to other cpumask
functions, but left the function cpumask_nth_andnot() unused.
This makes function find_nth_andnot_bit() unused as well. Delete them.
Signed-off-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Signed-off-by: Yury Norov [NVIDIA] <yury.norov@gmail.com>
pull/1311/head
parent
f49a4af3fa
commit
b0c85e9945
|
|
@ -558,22 +558,6 @@ unsigned int cpumask_nth_and(unsigned int cpu, const struct cpumask *srcp1,
|
||||||
small_cpumask_bits, cpumask_check(cpu));
|
small_cpumask_bits, cpumask_check(cpu));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* cpumask_nth_andnot - get the Nth cpu set in 1st cpumask, and clear in 2nd.
|
|
||||||
* @srcp1: the cpumask pointer
|
|
||||||
* @srcp2: the cpumask pointer
|
|
||||||
* @cpu: the Nth cpu to find, starting from 0
|
|
||||||
*
|
|
||||||
* Return: >= nr_cpu_ids if such cpu doesn't exist.
|
|
||||||
*/
|
|
||||||
static __always_inline
|
|
||||||
unsigned int cpumask_nth_andnot(unsigned int cpu, const struct cpumask *srcp1,
|
|
||||||
const struct cpumask *srcp2)
|
|
||||||
{
|
|
||||||
return find_nth_andnot_bit(cpumask_bits(srcp1), cpumask_bits(srcp2),
|
|
||||||
small_cpumask_bits, cpumask_check(cpu));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cpumask_nth_and_andnot - get the Nth cpu set in 1st and 2nd cpumask, and clear in 3rd.
|
* cpumask_nth_and_andnot - get the Nth cpu set in 1st and 2nd cpumask, and clear in 3rd.
|
||||||
* @srcp1: the cpumask pointer
|
* @srcp1: the cpumask pointer
|
||||||
|
|
|
||||||
|
|
@ -269,33 +269,6 @@ unsigned long find_nth_and_bit(const unsigned long *addr1, const unsigned long *
|
||||||
return __find_nth_and_bit(addr1, addr2, size, n);
|
return __find_nth_and_bit(addr1, addr2, size, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* find_nth_andnot_bit - find N'th set bit in 2 memory regions,
|
|
||||||
* flipping bits in 2nd region
|
|
||||||
* @addr1: The 1st address to start the search at
|
|
||||||
* @addr2: The 2nd address to start the search at
|
|
||||||
* @size: The maximum number of bits to search
|
|
||||||
* @n: The number of set bit, which position is needed, counting from 0
|
|
||||||
*
|
|
||||||
* Returns the bit number of the N'th set bit.
|
|
||||||
* If no such, returns @size.
|
|
||||||
*/
|
|
||||||
static __always_inline
|
|
||||||
unsigned long find_nth_andnot_bit(const unsigned long *addr1, const unsigned long *addr2,
|
|
||||||
unsigned long size, unsigned long n)
|
|
||||||
{
|
|
||||||
if (n >= size)
|
|
||||||
return size;
|
|
||||||
|
|
||||||
if (small_const_nbits(size)) {
|
|
||||||
unsigned long val = *addr1 & (~*addr2) & GENMASK(size - 1, 0);
|
|
||||||
|
|
||||||
return val ? fns(val, n) : size;
|
|
||||||
}
|
|
||||||
|
|
||||||
return __find_nth_andnot_bit(addr1, addr2, size, n);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* find_nth_and_andnot_bit - find N'th set bit in 2 memory regions,
|
* find_nth_and_andnot_bit - find N'th set bit in 2 memory regions,
|
||||||
* excluding those set in 3rd region
|
* excluding those set in 3rd region
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue