Is there any other way I could allocate sockets, cores and threads to my virtual machine? I looked over the virsh man page and I didn't find anything that talks about sockets, threads and cores. 
I edited the vm xml file and added this... 

    <topology sockets='1' cores='2' threads='1'/>

Saw this in the libvirt documents, http://libvirt.org/formatdomain.html

Setting this up shows me a single core in my vm, but I don't see any sockets and threads. Can somebody tell me how to do it in a right way so that I see all sockets, cores and threads allocated in my vm.