Index: sys/vm/_vm_domain.h =================================================================== --- sys/vm/_vm_domain.h (revision 266197) +++ sys/vm/_vm_domain.h (working copy) @@ -69,10 +69,14 @@ enum vm_domain_policy { struct vm_domain_select { vm_domainset_t ds_mask; /* bitmask of valid domains. */ enum vm_domain_policy ds_policy; /* Allocation policy. */ - int ds_cursor; /* Allocation cursor. */ + union { + int dsc_rr_idx; /* Round-robin cursor. */ + } ds_cursor; int ds_count; /* Domains in policy. */ }; +#define ds_rr_idx ds_cursor.dsc_rr_idx + #endif /* _KERNEL */ #endif /* !_VM__DOMAIN_H_ */ Index: sys/vm/vm_domain.h =================================================================== --- sys/vm/vm_domain.h (revision 266197) +++ sys/vm/vm_domain.h (working copy) @@ -99,7 +99,7 @@ vm_domain_select_first(struct vm_domain_select *se break; /* FALLTHROUGH */ case ROUNDROBIN: - domain = atomic_fetchadd_int(&sel->ds_cursor, 1) % vm_ndomains; + domain = atomic_fetchadd_int(&sel->ds_rr_idx, 1) % vm_ndomains; if (!VM_DOMAIN_ISSET(domain, &sel->ds_mask)) domain = vm_domain_select_next(sel, domain); }