On 06/07/2015 08:22, xinyue wrote: > Hi, > > For I want to translate the virtual address in HVM DomU to virtual > address in Xen. But when I use the function paging_gva_to_gfn and > get_gfn, I can feel the performance down quickly, the machine become > very hot and then I have to force the machine shutting down.
Your machine clearly isn't cooled sufficiently, which is the first problem. > > The codes I used as below: > uint32_t pfec = PFEC_page_present; > unsigned long gfn; > unsigned long mfn; > unsigned long virtaddr; > struct vcpu *vcpu = current; > struct domain *d = vcpu->domain; > > gfn = paging_gva_to_gfn(current, 0xc0290000, &pfec); > mfn = get_gfn(d, gfn, &t); > virtaddr = map_domain_page(mfn_x(mfn)); > > I also use the dbg_hvm_va2mfn function in debug.c, performance problem > still present. Walking pagetables in software is slow. There is no getting around this. Your performance problems will be caused by performing the operation far too often. You should find a way to reduce this. ~Andrew
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel