Even when buying a pre primed canvas, it is recommended that priming your surface with gesso can eliminate those tiny 'holes' on your finished piece. Priming a canvas or surface seals, fills the weave, gives a good 'tooth' to work on and acts as a reflector bouncing light through subsequent layers of paint. Priming also reduces the absorbability and leads to less paint being required. Acrylic gesso is the most commonly used primer, there are many different brands but I like to use gesso fine 617 by Maimeri or Golden Paints from Gordon Harris. Dilute your first coat of gesso with water and then dry and re prime with a heavier coat of gesso. Sand when dry to 'polish' to a smooth surface. Don't use gesso to build up texture as it is liable to crack. Lastly, do not use house paint undercoat as it isn't designed to be flexible and therefore is not good to use on a canvas.