On 06/05/2011 05:53 PM, Avi Kivity wrote: > On 06/05/2011 05:50 PM, Christoffer Dall wrote: >> On Sun, Jun 5, 2011 at 2:41 PM, Avi Kivity<avi at redhat.com> wrote: >> > On 06/03/2011 06:03 PM, Christoffer Dall wrote: >> >> >> >> Initializes a blank level-1 translation table for the second stage >> >> translation and handles freeing it as well. >> >> >> >> + start = (unsigned long)kvm, >> >> + end = start + sizeof(struct kvm); >> >> + ret = create_hyp_mappings(kvm_hyp_pgd, start, end); >> > >> > Why not map all GFP_KERNEL memory? >> > >> I wanted to only map things I was sure would be there and stay there >> so no assumptions were made about existing pages which could have been >> removed, since I don't handle aborts taken in the hypervisor itself. >> But, if it would be as safe to map all GFP_KERNEL memory and that also >> maps the necessary code segments, then we could do that. Do you feel >> it would me simpler/faster/easier? > > I think so - you wouldn't have to worry about dereferencing pointers > within the vcpu structure. Also, you could use huge pages for the mapping, yes? that should improve switching performance a bit. Can you run the host kernel in hypervisor mode? That may reduce switching time even further. -- error compiling committee.c: too many arguments to function