When my Ultra-120 X and I have to say I'm a little puzzled. The base where it should contact the heat spreader is not smooth at all, it's actually grooved! You can see a scratch which is where I gently ran my thumb nail over the surface; I could feel the rough edges.
Have a look for yourself:
Anyway, others encouraged me to lap it which I've never done before. After wrestling with the idea for a couple of days as well as reading many articles/guides, I decided to give it a go. $20 worth of sandpaper, a $2 piece of flat glass, and 4 hours of careful work (and sweat) later, I was left with a pretty darn flat HS. You can see by the pictures that this particular one was quite concave instead of being flat which isn't good for keeping contact between the HS and IHS of the CPU.
Did it work you're probably wondering. The temp data as measured in speedfan.exe for a ~1 h x264 encode (uses all 4 cores with a CPU load of >99 %). I had speedfan log the temps (which it does every 3-4 seconds) and I averaged the whole data set per core for the 2nd pass of the 2-pass encode (the 2nd pass is the most CPU intensive). Room temp for both experiments was ~23 °C. By the way, I added a constant of 15 to each core in speedfan since it incorrectly displays temps for quads by 15 °C.
System specs: Q6600 @ 9x333=3.01 GHz (stock voltage), P5B-Deluxe in an Antec p182 case.
Code:
Before lapping the HS:
Core 0: 66.9
Core 1: 66.4
Core 2: 60.6
Core 3: 60.6
After lapping the HS:
Core 0: 64.9
Core 1: 64.4
Core 2: 59.0
Core 3: 59.4
Delta:
Core 0: 2.0
Core 1: 2.0
Core 2: 1.6
Core 3: 1.2