swapoff appears to be broken on 2.4.3-12. Running swapoff -a on 2.2 used to take about as long as it would to read the data back into memory, but in recent 2.4 it seems to lock up the system with no LED activity for a good while. It eventually comes back after several minutes, but this isn't correct behavior. IIRC there was a thread about this on lkml some time ago.
There was. And it appears the very brand spanking new kernels (2.4.6pre5) have _some_ improvements in this area, although it's far from perfect.