Skip to content

Commit 729ce5a

Browse files
caihuoqing1990mstsirkin
authored andcommitted
vdpa: Make use of PFN_PHYS/PFN_UP/PFN_DOWN helper macro
it's a nice refactor to make use of PFN_PHYS/PFN_UP/PFN_DOWN helper macro Signed-off-by: Cai Huoqing <[email protected]> Link: https://lore.kernel.org/r/[email protected] Acked-by: Jason Wang <[email protected]> Signed-off-by: Michael S. Tsirkin <[email protected]>
1 parent 0e115c4 commit 729ce5a

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

drivers/vhost/vdpa.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -507,15 +507,15 @@ static void vhost_vdpa_iotlb_unmap(struct vhost_vdpa *v, u64 start, u64 last)
507507
unsigned long pfn, pinned;
508508

509509
while ((map = vhost_iotlb_itree_first(iotlb, start, last)) != NULL) {
510-
pinned = map->size >> PAGE_SHIFT;
511-
for (pfn = map->addr >> PAGE_SHIFT;
510+
pinned = PFN_DOWN(map->size);
511+
for (pfn = PFN_DOWN(map->addr);
512512
pinned > 0; pfn++, pinned--) {
513513
page = pfn_to_page(pfn);
514514
if (map->perm & VHOST_ACCESS_WO)
515515
set_page_dirty_lock(page);
516516
unpin_user_page(page);
517517
}
518-
atomic64_sub(map->size >> PAGE_SHIFT, &dev->mm->pinned_vm);
518+
atomic64_sub(PFN_DOWN(map->size), &dev->mm->pinned_vm);
519519
vhost_iotlb_map_free(iotlb, map);
520520
}
521521
}
@@ -577,7 +577,7 @@ static int vhost_vdpa_map(struct vhost_vdpa *v,
577577
if (r)
578578
vhost_iotlb_del_range(dev->iotlb, iova, iova + size - 1);
579579
else
580-
atomic64_add(size >> PAGE_SHIFT, &dev->mm->pinned_vm);
580+
atomic64_add(PFN_DOWN(size), &dev->mm->pinned_vm);
581581

582582
return r;
583583
}
@@ -631,15 +631,15 @@ static int vhost_vdpa_process_iotlb_update(struct vhost_vdpa *v,
631631
if (msg->perm & VHOST_ACCESS_WO)
632632
gup_flags |= FOLL_WRITE;
633633

634-
npages = PAGE_ALIGN(msg->size + (iova & ~PAGE_MASK)) >> PAGE_SHIFT;
634+
npages = PFN_UP(msg->size + (iova & ~PAGE_MASK));
635635
if (!npages) {
636636
ret = -EINVAL;
637637
goto free;
638638
}
639639

640640
mmap_read_lock(dev->mm);
641641

642-
lock_limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT;
642+
lock_limit = PFN_DOWN(rlimit(RLIMIT_MEMLOCK));
643643
if (npages + atomic64_read(&dev->mm->pinned_vm) > lock_limit) {
644644
ret = -ENOMEM;
645645
goto unlock;
@@ -673,9 +673,9 @@ static int vhost_vdpa_process_iotlb_update(struct vhost_vdpa *v,
673673

674674
if (last_pfn && (this_pfn != last_pfn + 1)) {
675675
/* Pin a contiguous chunk of memory */
676-
csize = (last_pfn - map_pfn + 1) << PAGE_SHIFT;
676+
csize = PFN_PHYS(last_pfn - map_pfn + 1);
677677
ret = vhost_vdpa_map(v, iova, csize,
678-
map_pfn << PAGE_SHIFT,
678+
PFN_PHYS(map_pfn),
679679
msg->perm);
680680
if (ret) {
681681
/*
@@ -699,13 +699,13 @@ static int vhost_vdpa_process_iotlb_update(struct vhost_vdpa *v,
699699
last_pfn = this_pfn;
700700
}
701701

702-
cur_base += pinned << PAGE_SHIFT;
702+
cur_base += PFN_PHYS(pinned);
703703
npages -= pinned;
704704
}
705705

706706
/* Pin the rest chunk */
707-
ret = vhost_vdpa_map(v, iova, (last_pfn - map_pfn + 1) << PAGE_SHIFT,
708-
map_pfn << PAGE_SHIFT, msg->perm);
707+
ret = vhost_vdpa_map(v, iova, PFN_PHYS(last_pfn - map_pfn + 1),
708+
PFN_PHYS(map_pfn), msg->perm);
709709
out:
710710
if (ret) {
711711
if (nchunks) {
@@ -945,7 +945,7 @@ static vm_fault_t vhost_vdpa_fault(struct vm_fault *vmf)
945945

946946
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
947947
if (remap_pfn_range(vma, vmf->address & PAGE_MASK,
948-
notify.addr >> PAGE_SHIFT, PAGE_SIZE,
948+
PFN_DOWN(notify.addr), PAGE_SIZE,
949949
vma->vm_page_prot))
950950
return VM_FAULT_SIGBUS;
951951

0 commit comments

Comments
 (0)