Alan, The attached patch simplifies the migration_init code (an ugly lot) with a simpler mechanism. This is Erich Focht's version which is now in 2.5. It has proved stable both there and in my testing. The new method is to bring up the first migration_thread, and then use it to migrate the remaining threads to their respective CPUs. The method makes sense and removes a lot of code. This patch also includes a boot hang fix demonstrated on arches where logical CPU mapping != physical CPU mapping. The bug was reported and fixed by James Bottomley in 2.5. Patch is against 2.4.19-pre7-ac4, please apply. Robert Love