On a 2 GB /dev/hdb, mkswap fails on any partition located past the 1024 cylinder boundary. The error given by mkswap is "mkswap: error: swap area needs to be at least 40kB". This does not seem to be affected by the ordering of the partitions in the partition tables, nor by whether the partition has been created as a primary partition or an extended partition. I have not been able to confirm that the 1024th cylinder is the exact Magic Breaking Point. (Currently, abusing that particular location of that particular disk would most decidedly break my machine altogether, since it is right in the middle of a huge /usr -- right now I would have to do a complete reinstall) I _have_ observed that placing a swap partition low works, but high (around cylinder 1600 on this disk) breaks mkswap.
this seems to work without any problems for me. Please reopen with more information this this still fails with newer Red Hat releases.