This loop is for_each_set_bit() in disguise.
No functional change.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
static int vcpumask_to_pcpumask(
struct domain *d, XEN_GUEST_HANDLE_PARAM(const_void) bmap, cpumask_t *pmask)
{
- unsigned int vcpu_id, vcpu_bias, offs;
+ unsigned int vcpu_bias, offs;
unsigned long vmask;
struct vcpu *v;
bool is_native = !is_pv_32bit_domain(d);
return -EFAULT;
}
- while ( vmask )
+ for_each_set_bit ( vcpu_id, vmask )
{
unsigned int cpu;
- vcpu_id = ffsl(vmask) - 1;
- vmask &= ~(1UL << vcpu_id);
vcpu_id += vcpu_bias;
if ( (vcpu_id >= d->max_vcpus) )
return 0;