search for: migratetype

Displaying 20 results from an estimated 157 matches for "migratetype".

2019 Sep 11
0
[vhost:linux-next 14/17] include/linux/mmzone.h:815:3: error: implicit declaration of function 'move_page_to_reported_list'; did you mean 'move_to_free_list'?
...;command-line>:0: include/linux/mmzone.h: In function 'add_to_free_list_tail': include/linux/mmzone.h:791:27: error: implicit declaration of function 'get_unreported_tail' [-Werror=implicit-function-declaration] struct list_head *tail = get_unreported_tail(zone, order, migratetype); ^~~~~~~~~~~~~~~~~~~ include/linux/mmzone.h:791:27: warning: initialization makes pointer from integer without a cast [-Wint-conversion] include/linux/mmzone.h: In function 'move_to_free_list': include/linux/mmzone.h:807:27: warning: initialization ma...
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_UN...
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_UN...
2017 Jul 14
4
[PATCH v12 6/8] mm: support reporting free page blocks
...nt 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/mm/page_alloc.c > index 64b7d82..8b3c9dd...
2017 Jul 14
4
[PATCH v12 6/8] mm: support reporting free page blocks
...nt 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/mm/page_alloc.c > index 64b7d82..8b3c9dd...
2017 Jul 13
1
[PATCH v12 6/8] mm: support reporting free page blocks
...nt 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/mm/page_alloc.c > index 64b7d82..8b3c9dd...
2017 Jul 13
1
[PATCH v12 6/8] mm: support reporting free page blocks
...nt 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/mm/page_alloc.c > index 64b7d82..8b3c9dd...
2017 Apr 13
2
[PATCH v9 5/5] virtio-balloon: VIRTIO_BALLOON_F_MISC_VQ
...t; + virtqueue_kick(vb->miscq); > +} > + > +static void miscq_send_unused_pages(struct virtio_balloon *vb) > +{ > + struct virtio_balloon_miscq_hdr *miscq_out_hdr = vb->miscq_out_hdr; > + struct virtqueue *vq = vb->miscq; > + int ret = 0; > + unsigned int order = 0, migratetype = 0; > + struct zone *zone = NULL; > + struct page *page = NULL; > + u64 pfn; > + > + miscq_out_hdr->cmd = VIRTIO_BALLOON_MISCQ_INQUIRE_UNUSED_PAGES; Gets endian-ness and whitespace wrong. Pls use static checkers to catch this type of error. > + miscq_out_hdr->flags = 0;...
2017 Apr 13
2
[PATCH v9 5/5] virtio-balloon: VIRTIO_BALLOON_F_MISC_VQ
...t; + virtqueue_kick(vb->miscq); > +} > + > +static void miscq_send_unused_pages(struct virtio_balloon *vb) > +{ > + struct virtio_balloon_miscq_hdr *miscq_out_hdr = vb->miscq_out_hdr; > + struct virtqueue *vq = vb->miscq; > + int ret = 0; > + unsigned int order = 0, migratetype = 0; > + struct zone *zone = NULL; > + struct page *page = NULL; > + u64 pfn; > + > + miscq_out_hdr->cmd = VIRTIO_BALLOON_MISCQ_INQUIRE_UNUSED_PAGES; Gets endian-ness and whitespace wrong. Pls use static checkers to catch this type of error. > + miscq_out_hdr->flags = 0;...
2017 Apr 13
0
[PATCH v9 3/5] mm: function to offer a page block on the free list
..._init(unsigned long * zones_size); 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); +extern int inquire_unused_page_block(struct zone *zone, unsigned int order, + unsigned int migratetype, + struct page **page); /* * Free reserved pages within range [PAGE_ALIGN(start), end & PAGE_MASK) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index f3e0c69..fa8203f 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -4498,6 +4498,93 @@ void show_free_areas(unsigned int filte...
2017 Jun 09
0
[PATCH v11 4/6] mm: function to offer a page block on the free list
...ern 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/mm/page_alloc.c index 2c25de4..0aefe02 100644 --- a/mm/page_alloc.c +++ b/...
2017 May 04
0
[PATCH v10 4/6] mm: function to offer a page block on the free list
...ern 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/mm/page_alloc.c index 2c25de4..e554ab8 100644 --- a/mm/page_alloc.c +++ b/...
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
On Thu 03-08-17 18:42:15, Wei Wang wrote: > On 08/03/2017 05:11 PM, Michal Hocko wrote: > >On Thu 03-08-17 14:38:18, Wei Wang wrote: [...] > >>+static int report_free_page_block(struct zone *zone, unsigned int order, > >>+ unsigned int migratetype, struct page **page) > >This is just too ugly and wrong actually. Never provide struct page > >pointers outside of the zone->lock. What I've had in mind was to simply > >walk free lists of the suitable order and call the callback for each one. > >Something as simple a...
2017 Aug 03
2
[PATCH v13 4/5] mm: support reporting free page blocks
On Thu 03-08-17 18:42:15, Wei Wang wrote: > On 08/03/2017 05:11 PM, Michal Hocko wrote: > >On Thu 03-08-17 14:38:18, Wei Wang wrote: [...] > >>+static int report_free_page_block(struct zone *zone, unsigned int order, > >>+ unsigned int migratetype, struct page **page) > >This is just too ugly and wrong actually. Never provide struct page > >pointers outside of the zone->lock. What I've had in mind was to simply > >walk free lists of the suitable order and call the callback for each one. > >Something as simple a...
2017 Jul 12
0
[PATCH v12 6/8] mm: support reporting free page blocks
...ern 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/mm/page_alloc.c index 64b7d82..8b3c9dd 100644 --- a/mm/page_alloc.c +++ b/...
2017 Aug 03
4
[PATCH v13 4/5] mm: support reporting free page blocks
...b8b..59eacf2 100644 > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -83,6 +83,11 @@ static inline bool is_migrate_movable(int mt) > for (order = 0; order < MAX_ORDER; order++) \ > for (type = 0; type < MIGRATE_TYPES; type++) > > +#define for_each_migratetype_order_decend(min_order, order, type) \ > + for (order = MAX_ORDER - 1; order < MAX_ORDER && order >= min_order; \ > + order--) \ > + for (type = 0; type < MIGRATE_TYPES; type++) > + Is there going to be any other user outside of mm/page_alloc.c? If not then do no...
2017 Aug 03
4
[PATCH v13 4/5] mm: support reporting free page blocks
...b8b..59eacf2 100644 > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -83,6 +83,11 @@ static inline bool is_migrate_movable(int mt) > for (order = 0; order < MAX_ORDER; order++) \ > for (type = 0; type < MIGRATE_TYPES; type++) > > +#define for_each_migratetype_order_decend(min_order, order, type) \ > + for (order = MAX_ORDER - 1; order < MAX_ORDER && order >= min_order; \ > + order--) \ > + for (type = 0; type < MIGRATE_TYPES; type++) > + Is there going to be any other user outside of mm/page_alloc.c? If not then do no...
2020 Jul 30
0
[PATCH v2 4/6] mm/page_isolation: cleanup set_migratetype_isolate()
...redhat.com> --- mm/page_isolation.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/mm/page_isolation.c b/mm/page_isolation.c index d099aac479601..e65fe5d770849 100644 --- a/mm/page_isolation.c +++ b/mm/page_isolation.c @@ -17,12 +17,9 @@ static int set_migratetype_isolate(struct page *page, int migratetype, int isol_flags) { - struct page *unmovable = NULL; - struct zone *zone; + struct zone *zone = page_zone(page); + struct page *unmovable; unsigned long flags; - int ret = -EBUSY; - - zone = page_zone(page); spin_lock_irqsave(&zone->lock, flag...
2020 Aug 06
1
[PATCH v2 4/6] mm/page_isolation: cleanup set_migratetype_isolate()
...+++++++---------- > 1 file changed, 7 insertions(+), 10 deletions(-) > > diff --git a/mm/page_isolation.c b/mm/page_isolation.c > index d099aac479601..e65fe5d770849 100644 > --- a/mm/page_isolation.c > +++ b/mm/page_isolation.c > @@ -17,12 +17,9 @@ > > static int set_migratetype_isolate(struct page *page, int migratetype, int isol_flags) > { > - struct page *unmovable = NULL; > - struct zone *zone; > + struct zone *zone = page_zone(page); > + struct page *unmovable; > unsigned long flags; > - int ret = -EBUSY; > - > - zone = page_zone(page); &...
2019 Sep 06
0
[vhost:linux-next 15/15] include/linux/page_reporting.h:10:34: error: 'HUGETLB_PAGE_ORDER' undeclared; did you mean 'IOREMAP_MAX_ORDER'?
...39 }; b1b0d638e6f93b Alexander Duyck 2019-09-06 40 b1b0d638e6f93b Alexander Duyck 2019-09-06 41 /* Boundary functions */ b1b0d638e6f93b Alexander Duyck 2019-09-06 42 struct list_head *__page_reporting_get_boundary(unsigned int order, b1b0d638e6f93b Alexander Duyck 2019-09-06 43 int migratetype); b1b0d638e6f93b Alexander Duyck 2019-09-06 44 void page_reporting_del_from_boundary(struct page *page, struct zone *zone); b1b0d638e6f93b Alexander Duyck 2019-09-06 45 void page_reporting_add_to_boundary(struct page *page, struct zone *zone, b1b0d638e6f93b Alexander Duyck 2019-09-06 46...