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():
> > > >
> > > > ------------------------------------------------------------------
> >...
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():
> > > >
> > > > ------------------------------------------------------------------
> >...
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...