Hey, in the case pointed by Mara you'll have a nested symlink (symlink to symlink, ...) if there is already an entry vmlinuz->vmlinuz-some.version, by creating the symlink prescribed above you'll get
vmlinuz-2.2.16-smp->vmlinuz
vmlinuz->vmlinuz-2.2.20
hence you are making another symlink to 2.2.20 which you name 2.2.16-smp, you need to reverse it if you have new kernel and you want vmlinuz to point to your new kernel
ln -sf /boot/vmlinuz-2.2.16-smp /boot/vmlinuz
assuming after kernel compilation you put /usr/src/linux-kernel.version/arch/i386/boot/bzImage (or zImage) to /boot and renamed it to vmlinuz-2.2.16-smp
Confused?
P.S. And you can ignore everything I just said - I am sluppy on reading stuff
, go with Mara's suggestion