ksm not work issue for virtiofs

ksm feature in kernel can significantly reduce the memory footprint of VMs. it can only work for those private and anonymous pages and do it well for VMs started by qemu generally. But it is not the case for qemu with virtiofs enabled, as qemu will only allocate shareable pages to let virtiofs go.

IMO, we can do something to improve it. for example, we can separate the pages used for virtiofs with those used for normal, then more pages can be collected by ksm.

@dagrh @mszeredi @stefanha @vgoyal