search for: start_pfn

Displaying 20 results from an estimated 181 matches for "start_pfn".

2016 May 24
3
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...; > > > > > > If only requested a single page, there is no need to send the > > > > entire page bitmap, This RFC patch has already considered about this. > > > > > > where's that addressed in code? > > > > > > > By record the start_pfn and end_pfn. > > > > The start_pfn & end_pfn will be updated in set_page_bitmap() and will > > be used in the function tell_host(): > > > > ---------------------------------------------------------------------- > > ----------- > > +static void set_page_...
2016 May 24
3
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...; > > > > > > If only requested a single page, there is no need to send the > > > > entire page bitmap, This RFC patch has already considered about this. > > > > > > where's that addressed in code? > > > > > > > By record the start_pfn and end_pfn. > > > > The start_pfn & end_pfn will be updated in set_page_bitmap() and will > > be used in the function tell_host(): > > > > ---------------------------------------------------------------------- > > ----------- > > +static void set_page_...
2016 May 24
2
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...> > > > > - sg_init_one(&sg, vb->pfns, sizeof(vb->pfns[0]) * vb->num_pfns); > > > > + if (virtio_has_feature(vb->vdev, > > > VIRTIO_BALLOON_F_PAGE_BITMAP)) { > > > > + u32 page_shift = PAGE_SHIFT; > > > > + unsigned long start_pfn, end_pfn, flags = 0, bmap_len; > > > > + struct scatterlist sg[5]; > > > > + > > > > + start_pfn = rounddown(vb->start_pfn, BITS_PER_LONG); > > > > + end_pfn = roundup(vb->end_pfn, BITS_PER_LONG); > > > > + bmap_len = (end_pfn -...
2016 May 24
2
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...> > > > > - sg_init_one(&sg, vb->pfns, sizeof(vb->pfns[0]) * vb->num_pfns); > > > > + if (virtio_has_feature(vb->vdev, > > > VIRTIO_BALLOON_F_PAGE_BITMAP)) { > > > > + u32 page_shift = PAGE_SHIFT; > > > > + unsigned long start_pfn, end_pfn, flags = 0, bmap_len; > > > > + struct scatterlist sg[5]; > > > > + > > > > + start_pfn = rounddown(vb->start_pfn, BITS_PER_LONG); > > > > + end_pfn = roundup(vb->end_pfn, BITS_PER_LONG); > > > > + bmap_len = (end_pfn -...
2016 May 24
0
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...> - sg_init_one(&sg, vb->pfns, sizeof(vb->pfns[0]) * vb->num_pfns); > > > > > + if (virtio_has_feature(vb->vdev, > > > > VIRTIO_BALLOON_F_PAGE_BITMAP)) { > > > > > + u32 page_shift = PAGE_SHIFT; > > > > > + unsigned long start_pfn, end_pfn, flags = 0, bmap_len; > > > > > + struct scatterlist sg[5]; > > > > > + > > > > > + start_pfn = rounddown(vb->start_pfn, BITS_PER_LONG); > > > > > + end_pfn = roundup(vb->end_pfn, BITS_PER_LONG); > > > > >...
2016 May 24
0
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...; If only requested a single page, there is no need to send the > > > > > entire page bitmap, This RFC patch has already considered about this. > > > > > > > > where's that addressed in code? > > > > > > > > > > By record the start_pfn and end_pfn. > > > > > > The start_pfn & end_pfn will be updated in set_page_bitmap() and will > > > be used in the function tell_host(): > > > > > > ---------------------------------------------------------------------- > > > ----------- &g...
2016 May 25
1
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...there is no need to send the > > > > > > entire page bitmap, This RFC patch has already considered about > this. > > > > > > > > > > where's that addressed in code? > > > > > > > > > > > > > By record the start_pfn and end_pfn. > > > > > > > > The start_pfn & end_pfn will be updated in set_page_bitmap() and > > > > will be used in the function tell_host(): > > > > > > > > ------------------------------------------------------------------ > &gt...
2016 May 25
1
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...there is no need to send the > > > > > > entire page bitmap, This RFC patch has already considered about > this. > > > > > > > > > > where's that addressed in code? > > > > > > > > > > > > > By record the start_pfn and end_pfn. > > > > > > > > The start_pfn & end_pfn will be updated in set_page_bitmap() and > > > > will be used in the function tell_host(): > > > > > > > > ------------------------------------------------------------------ > &gt...
2013 Jan 30
2
[PATCH] PVH: remove code to map iomem from guest
...addr, pte_t *ptep, pte_t pteval) { diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c index 7e93ec9..6532172 100644 --- a/arch/x86/xen/setup.c +++ b/arch/x86/xen/setup.c @@ -235,20 +235,12 @@ static void __init xen_set_identity_and_release_chunk( *identity += set_phys_range_identity(start_pfn, end_pfn); } -/* For PVH, the pfns [0..MAX] are mapped to mfn''s in the EPT/NPT. The mfns - * are released as part of this 1:1 mapping hypercall back to the dom heap. - * Also, we map the entire IO space, ie, beyond max_pfn_mapped. - */ -static void __init xen_pvh_identity_map_chunk(unsi...
2016 May 20
6
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...uct virtio_balloon { struct virtio_device *vdev; struct virtqueue *inflate_vq, *deflate_vq, *stats_vq; @@ -62,6 +64,9 @@ struct virtio_balloon { /* Number of balloon pages we've told the Host we're not using. */ unsigned int num_pages; + unsigned long *page_bitmap; + unsigned long start_pfn, end_pfn; + unsigned long bmap_len; /* * The pages we've told the Host we're not using are enqueued * at vb_dev_info->pages list. @@ -111,15 +116,66 @@ static void balloon_ack(struct virtqueue *vq) wake_up(&vb->acked); } +static int balloon_page_bitmap_init(struct vir...
2016 May 20
6
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...uct virtio_balloon { struct virtio_device *vdev; struct virtqueue *inflate_vq, *deflate_vq, *stats_vq; @@ -62,6 +64,9 @@ struct virtio_balloon { /* Number of balloon pages we've told the Host we're not using. */ unsigned int num_pages; + unsigned long *page_bitmap; + unsigned long start_pfn, end_pfn; + unsigned long bmap_len; /* * The pages we've told the Host we're not using are enqueued * at vb_dev_info->pages list. @@ -111,15 +116,66 @@ static void balloon_ack(struct virtqueue *vq) wake_up(&vb->acked); } +static int balloon_page_bitmap_init(struct vir...
2016 May 24
4
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...t virtqueue *inflate_vq, *deflate_vq, *stats_vq; @@ -62,6 +64,9 > > @@ struct virtio_balloon { > > > > /* Number of balloon pages we've told the Host we're not using. */ > > unsigned int num_pages; > > + unsigned long *page_bitmap; > > + unsigned long start_pfn, end_pfn; > > + unsigned long bmap_len; > > /* > > * The pages we've told the Host we're not using are enqueued > > * at vb_dev_info->pages list. > > @@ -111,15 +116,66 @@ static void balloon_ack(struct virtqueue *vq) > > wake_up(&vb->...
2016 May 24
4
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...t virtqueue *inflate_vq, *deflate_vq, *stats_vq; @@ -62,6 +64,9 > > @@ struct virtio_balloon { > > > > /* Number of balloon pages we've told the Host we're not using. */ > > unsigned int num_pages; > > + unsigned long *page_bitmap; > > + unsigned long start_pfn, end_pfn; > > + unsigned long bmap_len; > > /* > > * The pages we've told the Host we're not using are enqueued > > * at vb_dev_info->pages list. > > @@ -111,15 +116,66 @@ static void balloon_ack(struct virtqueue *vq) > > wake_up(&vb->...
2019 Sep 19
0
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
...SKIP_HWPOISON 0x1 #define REPORT_FAILURE 0x2 +/* Skip PageOffline() pages with a reference count of 0. */ +#define SKIP_OFFLINE 0x4 bool has_unmovable_pages(struct zone *zone, struct page *page, int count, int migratetype, int flags); @@ -58,7 +60,7 @@ undo_isolate_page_range(unsigned long start_pfn, unsigned long end_pfn, * Test all pages in [start_pfn, end_pfn) are isolated or not. */ int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn, - bool skip_hwpoisoned_pages); + int flags); struct page *alloc_migrate_target(struct page *page, unsigned long private); di...
2016 Jul 27
1
[PATCH v2 repost 6/7] mm: add the related functions to get free page info
...e_alloc.c b/mm/page_alloc.c > index 7da61ad..3ad8b10 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -4523,6 +4523,52 @@ unsigned long get_max_pfn(void) > } > EXPORT_SYMBOL(get_max_pfn); > > +static void mark_free_pages_bitmap(struct zone *zone, unsigned long start_pfn, > + unsigned long end_pfn, unsigned long *bitmap, unsigned long len) > +{ > + unsigned long pfn, flags, page_num; > + unsigned int order, t; > + struct list_head *curr; > + > + if (zone_is_empty(zone)) > + return; > + end_pfn = min(start_pfn + len, end_pfn); > + spin...
2016 Jul 27
1
[PATCH v2 repost 6/7] mm: add the related functions to get free page info
...e_alloc.c b/mm/page_alloc.c > index 7da61ad..3ad8b10 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -4523,6 +4523,52 @@ unsigned long get_max_pfn(void) > } > EXPORT_SYMBOL(get_max_pfn); > > +static void mark_free_pages_bitmap(struct zone *zone, unsigned long start_pfn, > + unsigned long end_pfn, unsigned long *bitmap, unsigned long len) > +{ > + unsigned long pfn, flags, page_num; > + unsigned int order, t; > + struct list_head *curr; > + > + if (zone_is_empty(zone)) > + return; > + end_pfn = min(start_pfn + len, end_pfn); > + spin...
2016 Jul 27
0
[PATCH v2 repost 6/7] mm: add the related functions to get free page info
...d, 46 insertions(+) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 7da61ad..3ad8b10 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -4523,6 +4523,52 @@ unsigned long get_max_pfn(void) } EXPORT_SYMBOL(get_max_pfn); +static void mark_free_pages_bitmap(struct zone *zone, unsigned long start_pfn, + unsigned long end_pfn, unsigned long *bitmap, unsigned long len) +{ + unsigned long pfn, flags, page_num; + unsigned int order, t; + struct list_head *curr; + + if (zone_is_empty(zone)) + return; + end_pfn = min(start_pfn + len, end_pfn); + spin_lock_irqsave(&zone->lock, flags); + + for_...
2019 Dec 21
0
[PATCH 3/8] iommu/vt-d: Remove IOVA handling code from non-dma_ops path
...n"); - return -ENOMEM; - } - - pr_debug("Mapping reserved region %llx-%llx\n", start, end); /* * RMRR range might have overlap with physical memory range, * clear it first @@ -2760,7 +2751,8 @@ static int __init si_domain_init(int hw) for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, NULL) { ret = iommu_domain_identity_map(si_domain, - PFN_PHYS(start_pfn), PFN_PHYS(end_pfn)); + mm_to_dma_pfn(start_pfn), + mm_to_dma_pfn(end_pfn)); if (ret) return ret; } @@ -4593,58 +4585,37 @@ static int intel_iommu_memory_notifier(struct notifier_block...
2016 May 20
0
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...tqueue *vq) > { > - struct scatterlist sg; > unsigned int len; > > - sg_init_one(&sg, vb->pfns, sizeof(vb->pfns[0]) * vb->num_pfns); > + if (virtio_has_feature(vb->vdev, VIRTIO_BALLOON_F_PAGE_BITMAP)) { > + u32 page_shift = PAGE_SHIFT; > + unsigned long start_pfn, end_pfn, flags = 0, bmap_len; > + struct scatterlist sg[5]; > + > + start_pfn = rounddown(vb->start_pfn, BITS_PER_LONG); > + end_pfn = roundup(vb->end_pfn, BITS_PER_LONG); > + bmap_len = (end_pfn - start_pfn) / BITS_PER_LONG * sizeof(long); > + > + sg_init_table(sg,...
2020 Aug 18
3
[PATCH V2 1/2] Add new flush_iotlb_range and handle freelists when using iommu_unmap_fast
...ntel/iommu.c +++ b/drivers/iommu/intel/iommu.c @@ -1160,17 +1160,17 @@ static struct page *dma_pte_clear_level(struct dmar_domain *domain, int level, pages can only be freed after the IOTLB flush has been done. */ static struct page *domain_unmap(struct dmar_domain *domain, unsigned long start_pfn, - unsigned long last_pfn) + unsigned long last_pfn, + struct page *freelist) { - struct page *freelist; - BUG_ON(!domain_pfn_supported(domain, start_pfn)); BUG_ON(!domain_pfn_supported(domain, last_pfn)); BUG_ON(start_pfn > last_pfn); /* we don't need lock here; nobod...