search for: end_pfn

Displaying 20 results from an estimated 135 matches for "end_pfn".

2016 May 24
3
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...t; > > > 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_bitmap(struc...
2016 May 24
3
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...t; > > > 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_bitmap(struc...
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 - start_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 - start_pfn...
2016 Jul 27
1
[PATCH v2 repost 6/7] mm: add the related functions to get free page info
...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->lo...
2016 Jul 27
1
[PATCH v2 repost 6/7] mm: add the related functions to get free page info
...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->lo...
2016 Jul 27
0
[PATCH v2 repost 6/7] mm: add the related functions to get free page info
...-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_each_migratetype_order(or...
2016 Jul 27
4
[PATCH v2 repost 6/7] mm: add the related functions to get free page info
On 07/26/2016 06:23 PM, Liang Li wrote: > + for_each_migratetype_order(order, t) { > + list_for_each(curr, &zone->free_area[order].free_list[t]) { > + pfn = page_to_pfn(list_entry(curr, struct page, lru)); > + if (pfn >= start_pfn && pfn <= end_pfn) { > + page_num = 1UL << order; > + if (pfn + page_num > end_pfn) > + page_num = end_pfn - pfn; > + bitmap_set(bitmap, pfn - start_pfn, page_num); > + } > + } > + } Nit: The 'page_num' nomenclature really confused me here. It is the number of...
2016 Jul 27
4
[PATCH v2 repost 6/7] mm: add the related functions to get free page info
On 07/26/2016 06:23 PM, Liang Li wrote: > + for_each_migratetype_order(order, t) { > + list_for_each(curr, &zone->free_area[order].free_list[t]) { > + pfn = page_to_pfn(list_entry(curr, struct page, lru)); > + if (pfn >= start_pfn && pfn <= end_pfn) { > + page_num = 1UL << order; > + if (pfn + page_num > end_pfn) > + page_num = end_pfn - pfn; > + bitmap_set(bitmap, pfn - start_pfn, page_num); > + } > + } > + } Nit: The 'page_num' nomenclature really confused me here. It is the number of...
2016 May 24
0
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...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_l...
2005 Jun 13
2
[PATCH] fix x86_64 initrd support
...00 @@ -727,23 +727,20 @@ void __init setup_arch(char **cmdline_p) acpi_reserve_bootmem(); #endif #ifdef CONFIG_BLK_DEV_INITRD - if (xen_start_info.mod_start) { - if (LOADER_TYPE && INITRD_START) { - if (INITRD_START + INITRD_SIZE <= (end_pfn << PAGE_SHIFT)) { - /* reserve_bootmem_generic(INITRD_START, INITRD_SIZE); */ - initrd_start = INITRD_START + PAGE_OFFSET; - initrd_end = initrd_start+INITRD_SIZE; - ini...
2013 Jan 30
2
[PATCH] PVH: remove code to map iomem from guest
...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(unsigned long...
2016 May 24
0
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...ested 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(): > > > > > > ---------------------------------------------------------------------- > > > ----------- > > >...
2016 May 25
1
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...ed 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
...ed 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(): > > > > > > > > ------------------------------------------------------------------ > > > >...
2019 Sep 19
0
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
...e 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); diff --git a/mm/memory_ho...
2019 May 13
2
[Qemu-devel] [PATCH v8 3/6] libnvdimm: add dax_dev sync flag
...(e.g with device mapper), will start & end pfn still point to same pgmap? Or there is something else which I am missing here. Note: I tested only EXT4. [1] - if (pgmap && pgmap->type == MEMORY_DEVICE_FS_DAX) + end_pgmap = get_dev_pagemap(pfn_t_to_pfn(end_pfn), NULL); + if (pgmap && pgmap == end_pgmap && pgmap->type == MEMORY_DEVICE_FS_DAX + && pfn_t_to_page(pfn)->pgmap == pgmap + && pfn_t_to_page(end_pfn)->pgmap == pgmap +...
2019 May 13
2
[Qemu-devel] [PATCH v8 3/6] libnvdimm: add dax_dev sync flag
...(e.g with device mapper), will start & end pfn still point to same pgmap? Or there is something else which I am missing here. Note: I tested only EXT4. [1] - if (pgmap && pgmap->type == MEMORY_DEVICE_FS_DAX) + end_pgmap = get_dev_pagemap(pfn_t_to_pfn(end_pfn), NULL); + if (pgmap && pgmap == end_pgmap && pgmap->type == MEMORY_DEVICE_FS_DAX + && pfn_t_to_page(pfn)->pgmap == pgmap + && pfn_t_to_page(end_pfn)->pgmap == pgmap +...
2016 May 24
4
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...*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); &...
2016 May 24
4
[PATCH RFC kernel] balloon: speed up inflating/deflating process
...*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); &...