CPU/Cores/Threads commissioning question

We are a bit lost in discussion concerning the following topic (hyper-threading, smp and core/vcpu assignation to virtual machine).

The concrete example:

We have a physical machine with 2 cpu’s (E5649), each has 6 cores and 2 threads per core (12 threads). The kernel of that physical machine displays the 24 cpu’s. On this physical machine, we’re running a KVM with 12 Vcpu’s and would like to know if we can go to 16 - 18 Vcpu’s without any penalty or do we gain any more performance.

Thanks for any advice