If you do the math, a 2.66 ghz processor would be running a 5 multiplier, assuming that is a 533mhz FSB part (which makes sense). 2660 divided by 533 is approximately 5.
since you're at 2.9ghz 2900 / 5 = 580 (fsb)...
Intels are quad pumped, so 580/4 = 145
145X2 (DDR) is 290, which is what your memory is set at now.
The reason i say depends is because there's no set-in-stone answer for what speed you should be running your memory. Since you are running an intel set up i'd recommend running your memory at DDR 400 (since that is what your memory is supporting). With an AMD system i'd probably just try and manage to drop the multiplier down (if it were possible ;D) and then up the FSB becuase AMDs dont like running asynchronous (i.e. different speeds) than the memory. With an Intel it really isn't that big of a deal. I'd just run some benchmarks (memory bandwidth from sandra, for instance) and see which gives you higher numbers ;D