summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/cpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/os/cpu.c')
-rw-r--r--usr/src/uts/common/os/cpu.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/usr/src/uts/common/os/cpu.c b/usr/src/uts/common/os/cpu.c
index ea0f219b9e..cfb190b1c5 100644
--- a/usr/src/uts/common/os/cpu.c
+++ b/usr/src/uts/common/os/cpu.c
@@ -2593,8 +2593,13 @@ cpuset_find(cpuset_t *s)
/*
* Find a cpu in the cpuset
*/
- for (i = 0; (i < CPUSET_WORDS && cpu == (uint_t)-1); i++)
+ for (i = 0; i < CPUSET_WORDS; i++) {
cpu = (uint_t)(lowbit(s->cpub[i]) - 1);
+ if (cpu != (uint_t)-1) {
+ cpu += i * BT_NBIPUL;
+ break;
+ }
+ }
return (cpu);
}