Displaying 20 results from an estimated 50 matches for "report_unused_page_block".
2017 Jul 14
4
[PATCH v12 6/8] mm: support reporting free page blocks
...> +++ b/include/linux/mm.h
> @@ -1835,6 +1835,11 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
> unsigned long zone_start_pfn, unsigned long *zholes_size);
> extern void free_initmem(void);
>
> +#if IS_ENABLED(CONFIG_VIRTIO_BALLOON)
> +extern int report_unused_page_block(struct zone *zone, unsigned int order,
> + unsigned int migratetype,
> + struct page **page);
> +#endif
> /*
> * Free reserved pages within range [PAGE_ALIGN(start), end & PAGE_MASK)
> * into the buddy system. The freed pages will be poisoned with pattern
&g...
2017 Jul 14
4
[PATCH v12 6/8] mm: support reporting free page blocks
...> +++ b/include/linux/mm.h
> @@ -1835,6 +1835,11 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
> unsigned long zone_start_pfn, unsigned long *zholes_size);
> extern void free_initmem(void);
>
> +#if IS_ENABLED(CONFIG_VIRTIO_BALLOON)
> +extern int report_unused_page_block(struct zone *zone, unsigned int order,
> + unsigned int migratetype,
> + struct page **page);
> +#endif
> /*
> * Free reserved pages within range [PAGE_ALIGN(start), end & PAGE_MASK)
> * into the buddy system. The freed pages will be poisoned with pattern
&g...
2017 Jul 13
1
[PATCH v12 6/8] mm: support reporting free page blocks
...> +++ b/include/linux/mm.h
> @@ -1835,6 +1835,11 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
> unsigned long zone_start_pfn, unsigned long *zholes_size);
> extern void free_initmem(void);
>
> +#if IS_ENABLED(CONFIG_VIRTIO_BALLOON)
> +extern int report_unused_page_block(struct zone *zone, unsigned int order,
> + unsigned int migratetype,
> + struct page **page);
> +#endif
> /*
> * Free reserved pages within range [PAGE_ALIGN(start), end & PAGE_MASK)
> * into the buddy system. The freed pages will be poisoned with pattern
&g...
2017 Jul 13
1
[PATCH v12 6/8] mm: support reporting free page blocks
...> +++ b/include/linux/mm.h
> @@ -1835,6 +1835,11 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
> unsigned long zone_start_pfn, unsigned long *zholes_size);
> extern void free_initmem(void);
>
> +#if IS_ENABLED(CONFIG_VIRTIO_BALLOON)
> +extern int report_unused_page_block(struct zone *zone, unsigned int order,
> + unsigned int migratetype,
> + struct page **page);
> +#endif
> /*
> * Free reserved pages within range [PAGE_ALIGN(start), end & PAGE_MASK)
> * into the buddy system. The freed pages will be poisoned with pattern
&g...
2017 Jun 09
0
[PATCH v11 4/6] mm: function to offer a page block on the free list
...a6 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1841,6 +1841,11 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
unsigned long zone_start_pfn, unsigned long *zholes_size);
extern void free_initmem(void);
+#if IS_ENABLED(CONFIG_VIRTIO_BALLOON)
+extern int report_unused_page_block(struct zone *zone, unsigned int order,
+ unsigned int migratetype,
+ struct page **page);
+#endif
/*
* Free reserved pages within range [PAGE_ALIGN(start), end & PAGE_MASK)
* into the buddy system. The freed pages will be poisoned with pattern
diff --git a/mm/page_alloc.c b/m...
2017 May 04
0
[PATCH v10 4/6] mm: function to offer a page block on the free list
...a6 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1841,6 +1841,11 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
unsigned long zone_start_pfn, unsigned long *zholes_size);
extern void free_initmem(void);
+#if IS_ENABLED(CONFIG_VIRTIO_BALLOON)
+extern int report_unused_page_block(struct zone *zone, unsigned int order,
+ unsigned int migratetype,
+ struct page **page);
+#endif
/*
* Free reserved pages within range [PAGE_ALIGN(start), end & PAGE_MASK)
* into the buddy system. The freed pages will be poisoned with pattern
diff --git a/mm/page_alloc.c b/m...
2017 Jul 12
0
[PATCH v12 6/8] mm: support reporting free page blocks
...33 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1835,6 +1835,11 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
unsigned long zone_start_pfn, unsigned long *zholes_size);
extern void free_initmem(void);
+#if IS_ENABLED(CONFIG_VIRTIO_BALLOON)
+extern int report_unused_page_block(struct zone *zone, unsigned int order,
+ unsigned int migratetype,
+ struct page **page);
+#endif
/*
* Free reserved pages within range [PAGE_ALIGN(start), end & PAGE_MASK)
* into the buddy system. The freed pages will be poisoned with pattern
diff --git a/mm/page_alloc.c b/m...
2017 Jul 14
0
[PATCH v12 6/8] mm: support reporting free page blocks
...> > @@ -1835,6 +1835,11 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
> > unsigned long zone_start_pfn, unsigned long *zholes_size);
> > extern void free_initmem(void);
> >
> > +#if IS_ENABLED(CONFIG_VIRTIO_BALLOON)
> > +extern int report_unused_page_block(struct zone *zone, unsigned int order,
> > + unsigned int migratetype,
> > + struct page **page);
> > +#endif
> > /*
> > * Free reserved pages within range [PAGE_ALIGN(start), end & PAGE_MASK)
> > * into the buddy system. The freed pages wi...
2017 Jul 14
0
[PATCH v12 6/8] mm: support reporting free page blocks
...> > @@ -1835,6 +1835,11 @@ extern void free_area_init_node(int nid, unsigned long * zones_size,
> > unsigned long zone_start_pfn, unsigned long *zholes_size);
> > extern void free_initmem(void);
> >
> > +#if IS_ENABLED(CONFIG_VIRTIO_BALLOON)
> > +extern int report_unused_page_block(struct zone *zone, unsigned int order,
> > + unsigned int migratetype,
> > + struct page **page);
> > +#endif
> > /*
> > * Free reserved pages within range [PAGE_ALIGN(start), end & PAGE_MASK)
> > * into the buddy system. The freed pages wi...
2017 Jun 12
2
[PATCH v11 4/6] mm: function to offer a page block on the free list
On 06/12/2017 09:28 AM, Michael S. Tsirkin wrote:
>
>> The hypervisor is going to throw away the contents of these pages,
>> right?
> It should be careful and only throw away contents that was there before
> report_unused_page_block was invoked. Hypervisor is responsible for not
> corrupting guest memory. But that's not something an mm patch should
> worry about.
That makes sense. I'm struggling to imagine how the hypervisor makes
use of this information, though. Does it make the pages read-only
before this,...
2017 Jun 12
2
[PATCH v11 4/6] mm: function to offer a page block on the free list
On 06/12/2017 09:28 AM, Michael S. Tsirkin wrote:
>
>> The hypervisor is going to throw away the contents of these pages,
>> right?
> It should be careful and only throw away contents that was there before
> report_unused_page_block was invoked. Hypervisor is responsible for not
> corrupting guest memory. But that's not something an mm patch should
> worry about.
That makes sense. I'm struggling to imagine how the hypervisor makes
use of this information, though. Does it make the pages read-only
before this,...
2017 Jun 12
1
[PATCH v11 6/6] virtio-balloon: VIRTIO_BALLOON_F_CMD_VQ
On 06/09/2017 03:41 AM, Wei Wang wrote:
> + for_each_populated_zone(zone) {
> + for (order = MAX_ORDER - 1; order > 0; order--) {
> + for (migratetype = 0; migratetype < MIGRATE_TYPES;
> + migratetype++) {
> + do {
> + ret = report_unused_page_block(zone,
> + order, migratetype, &page);
> + if (!ret) {
> + pfn = (u64)page_to_pfn(page);
> + add_one_chunk(vb, vq,
> + PAGE_CHNUK_UNUSED_PAGE,
> + pfn << VIRTIO_BALLOON_PFN_SHIFT,
> + (u64)(1 << order) *
> + VIRTIO_BALLOO...
2017 Jun 12
1
[PATCH v11 6/6] virtio-balloon: VIRTIO_BALLOON_F_CMD_VQ
On 06/09/2017 03:41 AM, Wei Wang wrote:
> + for_each_populated_zone(zone) {
> + for (order = MAX_ORDER - 1; order > 0; order--) {
> + for (migratetype = 0; migratetype < MIGRATE_TYPES;
> + migratetype++) {
> + do {
> + ret = report_unused_page_block(zone,
> + order, migratetype, &page);
> + if (!ret) {
> + pfn = (u64)page_to_pfn(page);
> + add_one_chunk(vb, vq,
> + PAGE_CHNUK_UNUSED_PAGE,
> + pfn << VIRTIO_BALLOON_PFN_SHIFT,
> + (u64)(1 << order) *
> + VIRTIO_BALLOO...
2017 Jul 26
1
[PATCH v12 6/8] mm: support reporting free page blocks
...his:
>
> void walk_free_mem(void *opaque1, void (*visit)(void *opaque2, unsigned long
> pfn,
> unsigned long nr_pages))
> {
> ...
> for_each_populated_zone(zone) {
> for_each_migratetype_order(order, type) {
> report_unused_page_block(zone, order, type, &page);
> // from patch 6
> pfn = page_to_pfn(page);
> visit(opaque1, pfn, 1 << order);
> }
> }
> }
>
> The above function scans all the free list and directly sends each fr...
2017 Jul 26
1
[PATCH v12 6/8] mm: support reporting free page blocks
...his:
>
> void walk_free_mem(void *opaque1, void (*visit)(void *opaque2, unsigned long
> pfn,
> unsigned long nr_pages))
> {
> ...
> for_each_populated_zone(zone) {
> for_each_migratetype_order(order, type) {
> report_unused_page_block(zone, order, type, &page);
> // from patch 6
> pfn = page_to_pfn(page);
> visit(opaque1, pfn, 1 << order);
> }
> }
> }
>
> The above function scans all the free list and directly sends each fr...
2017 Jun 12
1
[PATCH v11 4/6] mm: function to offer a page block on the free list
...0, Dave Hansen wrote:
>> On 06/12/2017 09:28 AM, Michael S. Tsirkin wrote:
>>>
>>>> The hypervisor is going to throw away the contents of these pages,
>>>> right?
>>> It should be careful and only throw away contents that was there before
>>> report_unused_page_block was invoked. Hypervisor is responsible for not
>>> corrupting guest memory. But that's not something an mm patch should
>>> worry about.
>>
>> That makes sense. I'm struggling to imagine how the hypervisor makes
>> use of this information, though. Doe...
2017 Jun 12
1
[PATCH v11 4/6] mm: function to offer a page block on the free list
...0, Dave Hansen wrote:
>> On 06/12/2017 09:28 AM, Michael S. Tsirkin wrote:
>>>
>>>> The hypervisor is going to throw away the contents of these pages,
>>>> right?
>>> It should be careful and only throw away contents that was there before
>>> report_unused_page_block was invoked. Hypervisor is responsible for not
>>> corrupting guest memory. But that's not something an mm patch should
>>> worry about.
>>
>> That makes sense. I'm struggling to imagine how the hypervisor makes
>> use of this information, though. Doe...
2017 Jul 12
19
[PATCH v12 0/8] Virtio-balloon Enhancement
...d free pages blocks
directly using one or more chains of desc from the vq.
v10->v11:
1) virtio_balloon: use vring_desc to describe a chunk;
2) virtio_ring: support to add an indirect desc table to virtqueue;
3) virtio_balloon: use cmdq to report guest memory statistics.
v9->v10:
1) mm: put report_unused_page_block() under CONFIG_VIRTIO_BALLOON;
2) virtio-balloon: add virtballoon_validate();
3) virtio-balloon: msg format change;
4) virtio-balloon: move miscq handling to a task on system_freezable_wq;
5) virtio-balloon: code cleanup.
v8->v9:
1) Split the two new features, VIRTIO_BALLOON_F_BALLOON_CHUNKS an...
2017 Jul 12
19
[PATCH v12 0/8] Virtio-balloon Enhancement
...d free pages blocks
directly using one or more chains of desc from the vq.
v10->v11:
1) virtio_balloon: use vring_desc to describe a chunk;
2) virtio_ring: support to add an indirect desc table to virtqueue;
3) virtio_balloon: use cmdq to report guest memory statistics.
v9->v10:
1) mm: put report_unused_page_block() under CONFIG_VIRTIO_BALLOON;
2) virtio-balloon: add virtballoon_validate();
3) virtio-balloon: msg format change;
4) virtio-balloon: move miscq handling to a task on system_freezable_wq;
5) virtio-balloon: code cleanup.
v8->v9:
1) Split the two new features, VIRTIO_BALLOON_F_BALLOON_CHUNKS an...
2017 Jun 12
4
[PATCH v11 4/6] mm: function to offer a page block on the free list
Please stop cc'ing me on things also sent to closed mailing lists
(virtio-dev at lists.oasis-open.org). I'm happy to review things on open
lists, but I'm not fond of the closed lists bouncing things at me.
On 06/09/2017 03:41 AM, Wei Wang wrote:
> Add a function to find a page block on the free list specified by the
> caller. Pages from the page block may be used immediately