--- 2.4.20pre5aa3/fs/xfs/pagebuf/page_buf.c.~1~ Wed Sep 11 05:17:46 2002 +++ 2.4.20pre5aa3/fs/xfs/pagebuf/page_buf.c Wed Sep 11 06:00:35 2002 @@ -2055,9 +2055,9 @@ pagebuf_iodone_daemon( spin_unlock_irq(¤t->sigmask_lock); /* Migrate to the right CPU */ - current->cpus_allowed = 1UL << cpu; - while (smp_processor_id() != cpu) - schedule(); + set_cpus_allowed(current, 1UL << cpu); + if (cpu() != cpu) + BUG(); sprintf(current->comm, "pagebuf_io_CPU%d", bind_cpu); INIT_LIST_HEAD(&pagebuf_iodone_tq[cpu]);