Why does my scene take longer to render on two modern GPUs, than on CPU? I have a performance issue with cycles GPU rendering.

The scene I built takes 2:35s  on CPU, but 8:47s on two HD 7950s. I tried all tile sizes from 16x16 all the way to 640x1024, and 8:47s was the quickest time I got.

I have two 3GB Radeon HD 7950 graphic cards in my desktop. I have the latest driver on a fresh install of Linux Mint 17. The benchmark performance is great. The standard BMW benchmark scene takes just 48.06 seconds, even with 480x540 tiles. My laptops CPU, an i7 3632QM, needs 5:19s for the same job.

What is going on? I was expecting a rendering time of around 23s not 527s! It makes sense that my heavier scene would take longer, but it does not make sense that CPU would be faster than GPU. Why is the benchmark behaving as expected, but my scene is so slow?

I only use diffuse surfaces, a few simple models and one sun light. 

Is there a setting I missed that really slows down GPU rendering?
Oh FFS! There is actually a second switch you have to enable in order for cycles to render on the GPU!

So the answer to why my two Radeon HD 7950 graphics cards where so slow, is that cycles wasn`t using them! It was still rendering on the CPU.  

It is simply not enough to "enable" GPU computing under the Blender User Preferences (Ctrl+Alt+U) -> System -> Compute Device!

What you have to do, to actually render your scene on your GPU is:


Use Cycles to render your scene 
"enable" GPU computing under the Blender User Preferences (Ctrl+Alt+U) -> System -> Compute Device
After this a "Device" option pops up under the "Render" options. Which you have to switch to GPU.


then, and only then, your scene will render on your GPU.

Now that i got this figured out, i have a few follow up questions:

Why is there a second switch for the same option?

Why is the default selection for this option CPU?

Who thought this would be a good idea?