Lines Matching refs:gfn

595 static int xenpaging_evict_page(struct xenpaging *paging, unsigned long gfn, int slot)  in xenpaging_evict_page()  argument
599 xen_pfn_t victim = gfn; in xenpaging_evict_page()
605 ret = xc_mem_paging_nominate(xch, paging->vm_event.domain_id, gfn); in xenpaging_evict_page()
612 PERROR("Error nominating page %lx", gfn); in xenpaging_evict_page()
620 PERROR("Error mapping page %lx", gfn); in xenpaging_evict_page()
629 PERROR("Error copying page %lx", gfn); in xenpaging_evict_page()
639 ret = xc_mem_paging_evict(xch, paging->vm_event.domain_id, gfn); in xenpaging_evict_page()
646 DPRINTF("Nominated page %lx busy", gfn); in xenpaging_evict_page()
648 PERROR("Error evicting page %lx", gfn); in xenpaging_evict_page()
652 DPRINTF("evict_page > gfn %lx pageslot %d\n", gfn, slot); in xenpaging_evict_page()
654 policy_notify_paged_out(gfn); in xenpaging_evict_page()
657 paging->slot_to_gfn[slot] = gfn; in xenpaging_evict_page()
658 paging->gfn_to_slot[gfn] = slot; in xenpaging_evict_page()
682 policy_notify_paged_in(rsp->u.mem_paging.gfn); in xenpaging_resume_page()
684 policy_notify_paged_in_nomru(rsp->u.mem_paging.gfn); in xenpaging_resume_page()
694 static int xenpaging_populate_page(struct xenpaging *paging, unsigned long gfn, int i) in xenpaging_populate_page() argument
700 DPRINTF("populate_page < gfn %lx pageslot %d\n", gfn, i); in xenpaging_populate_page()
713 ret = xc_mem_paging_load(xch, paging->vm_event.domain_id, gfn, paging->paging_buffer); in xenpaging_populate_page()
719 DPRINTF("ENOMEM while preparing gfn %lx\n", gfn); in xenpaging_populate_page()
723 PERROR("Error loading %lx during page-in", gfn); in xenpaging_populate_page()
764 unsigned long gfn; in evict_victim() local
770 gfn = policy_choose_victim(paging); in evict_victim()
771 if ( gfn == INVALID_MFN ) in evict_victim()
794 ret = xenpaging_evict_page(paging, gfn, slot); in evict_victim()
800 if ( test_and_set_bit(gfn, paging->bitmap) ) in evict_victim()
801 ERROR("Page %lx has been evicted before", gfn); in evict_victim()
909 if ( req.u.mem_paging.gfn > paging->max_pages ) in main()
912 req.u.mem_paging.gfn, paging->max_pages); in main()
917 if ( test_and_clear_bit(req.u.mem_paging.gfn, paging->bitmap) ) in main()
920 slot = paging->gfn_to_slot[req.u.mem_paging.gfn]; in main()
923 if ( paging->slot_to_gfn[slot] != req.u.mem_paging.gfn ) in main()
926 req.u.mem_paging.gfn, slot, paging->slot_to_gfn[slot]); in main()
933 req.u.mem_paging.gfn, slot); in main()
935 policy_notify_dropped(req.u.mem_paging.gfn); in main()
940 if ( xenpaging_populate_page(paging, req.u.mem_paging.gfn, slot) < 0 ) in main()
942 ERROR("Error populating page %"PRIx64"", req.u.mem_paging.gfn); in main()
948 rsp.u.mem_paging.gfn = req.u.mem_paging.gfn; in main()
954 PERROR("Error resuming page %"PRIx64"", req.u.mem_paging.gfn); in main()
969 paging->vm_event.domain_id, req.vcpu_id, req.u.mem_paging.gfn, in main()
978 rsp.u.mem_paging.gfn = req.u.mem_paging.gfn; in main()
984 PERROR("Error resuming page %"PRIx64"", req.u.mem_paging.gfn); in main()