search for: report_failure

Displaying 20 results from an estimated 29 matches for "report_failure".

2020 Jul 29
0
[PATCH v1 3/6] mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate()
...nd up in ZONE_MOVABLE - via "movable_core". Also, besides > ~~~ 'movablecore' >> checking if the first page in the pageblock is reserved, we don't >> perform any further checks in case of ZONE_MOVABLE. >> >> In case of memory offlining, we set REPORT_FAILURE, properly >> dump_page() the page and handle the error gracefully. >> alloc_contig_pages() users currently never allocate from ZONE_MOVABLE. >> E.g., hugetlb uses alloc_contig_pages() for the allocation of gigantic >> pages only, which will never end up on the MOVABLE zone &...
2020 Jul 30
7
[PATCH v2 0/6] mm / virtio-mem: support ZONE_MOVABLE
@Andrew, @Mst, I suggest the whole series (including the virtio-mem change) goes via the -mm tree. Currently, virtio-mem does not really support ZONE_MOVABLE. While it allows to online fully plugged memory blocks to ZONE_MOVABLE, it does not allow to online partially-plugged memory blocks to ZONE_MOVABLE and will never consider such memory blocks when unplugging memory. This might be surprising
2019 Sep 19
0
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
...ff --git a/include/linux/page-isolation.h b/include/linux/page-isolation.h index 1099c2fee20f..024e02b60346 100644 --- a/include/linux/page-isolation.h +++ b/include/linux/page-isolation.h @@ -32,6 +32,8 @@ static inline bool is_migrate_isolate(int migratetype) #define 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, * Tes...
2020 Jun 30
12
[PATCH v1 0/6] mm / virtio-mem: support ZONE_MOVABLE
Currently, virtio-mem does not really support ZONE_MOVABLE. While it allows to online fully plugged memory blocks to ZONE_MOVABLE, it does not allow to online partially-plugged memory blocks to ZONE_MOVABLE and will never consider such memory blocks when unplugging memory. This might be surprising for users (especially, if onlining suddenly fails). Let's support partially plugged memory
2020 Jun 30
12
[PATCH v1 0/6] mm / virtio-mem: support ZONE_MOVABLE
Currently, virtio-mem does not really support ZONE_MOVABLE. While it allows to online fully plugged memory blocks to ZONE_MOVABLE, it does not allow to online partially-plugged memory blocks to ZONE_MOVABLE and will never consider such memory blocks when unplugging memory. This might be surprising for users (especially, if onlining suddenly fails). Let's support partially plugged memory
2020 Jul 30
0
[PATCH v2 4/6] mm/page_isolation: cleanup set_migratetype_isolate()
...NULL); __mod_zone_freepage_state(zone, -nr_pages, mt); - ret = 0; + spin_unlock_irqrestore(&zone->lock, flags); + drain_all_pages(zone); + return 0; } spin_unlock_irqrestore(&zone->lock, flags); - if (!ret) { - drain_all_pages(zone); - } else if ((isol_flags & REPORT_FAILURE) && unmovable) { + if (isol_flags & REPORT_FAILURE) { /* * printk() with zone->lock held will likely trigger a * lockdep splat, so defer it here. @@ -65,7 +62,7 @@ static int set_migratetype_isolate(struct page *page, int migratetype, int isol_ dump_page(unmovable, &quo...
2020 Aug 06
1
[PATCH v2 4/6] mm/page_isolation: cleanup set_migratetype_isolate()
...nr_pages, mt); > - ret = 0; > + spin_unlock_irqrestore(&zone->lock, flags); > + drain_all_pages(zone); > + return 0; > } > > spin_unlock_irqrestore(&zone->lock, flags); > - if (!ret) { > - drain_all_pages(zone); > - } else if ((isol_flags & REPORT_FAILURE) && unmovable) { > + if (isol_flags & REPORT_FAILURE) { > /* > * printk() with zone->lock held will likely trigger a > * lockdep splat, so defer it here. > @@ -65,7 +62,7 @@ static int set_migratetype_isolate(struct page *page, int migratetype, int isol_ &gt...
2020 Aug 16
9
[PATCH v5 0/6] mm / virtio-mem: support ZONE_MOVABLE
For 5.10. Patch #1-#4,#6 have RBs or ACKs, patch #5 is virtio-mem stuff maintained by me. This should go via the -mm tree. --- When introducing virtio-mem, the semantics of ZONE_MOVABLE were rather unclear, which is why we special-cased ZONE_MOVABLE such that partially plugged blocks would never end up in ZONE_MOVABLE. Now that the semantics are much clearer (and are documented in patch #6),
2020 Aug 16
9
[PATCH v5 0/6] mm / virtio-mem: support ZONE_MOVABLE
For 5.10. Patch #1-#4,#6 have RBs or ACKs, patch #5 is virtio-mem stuff maintained by me. This should go via the -mm tree. --- When introducing virtio-mem, the semantics of ZONE_MOVABLE were rather unclear, which is why we special-cased ZONE_MOVABLE such that partially plugged blocks would never end up in ZONE_MOVABLE. Now that the semantics are much clearer (and are documented in patch #6),
2020 Aug 04
8
[PATCH v4 0/6] mm / virtio-mem: support ZONE_MOVABLE
@Andrew can we give this a churn and consider it for v5.9 in case there are no more comments? Patch #1-#4,#6 have RBss or ACKs, patch #5 is virtio-mem stuff maintained by me (and MST is aware). --- When introducing virtio-mem, the semantics of ZONE_MOVABLE were rather unclear, which is why we special-cased ZONE_MOVABLE such that partially plugged blocks would never end up in ZONE_MOVABLE. Now
2020 Aug 04
8
[PATCH v4 0/6] mm / virtio-mem: support ZONE_MOVABLE
@Andrew can we give this a churn and consider it for v5.9 in case there are no more comments? Patch #1-#4,#6 have RBss or ACKs, patch #5 is virtio-mem stuff maintained by me (and MST is aware). --- When introducing virtio-mem, the semantics of ZONE_MOVABLE were rather unclear, which is why we special-cased ZONE_MOVABLE such that partially plugged blocks would never end up in ZONE_MOVABLE. Now
2020 Aug 04
8
[PATCH v3 0/6] mm / virtio-mem: support ZONE_MOVABLE
@Andrew can we give this a churn and consider it for v5.9 in case there are no more comments? Patch #1-#4 have RB's, patch #5 is virtio-mem stuff maintained by me, patch #6 is just a doc update. --- Currently, virtio-mem does not really support ZONE_MOVABLE. While it allows to online fully plugged memory blocks to ZONE_MOVABLE, it does not allow to online partially-plugged memory blocks to
2020 Aug 04
8
[PATCH v3 0/6] mm / virtio-mem: support ZONE_MOVABLE
@Andrew can we give this a churn and consider it for v5.9 in case there are no more comments? Patch #1-#4 have RB's, patch #5 is virtio-mem stuff maintained by me, patch #6 is just a doc update. --- Currently, virtio-mem does not really support ZONE_MOVABLE. While it allows to online fully plugged memory blocks to ZONE_MOVABLE, it does not allow to online partially-plugged memory blocks to
2020 Mar 02
0
[PATCH v1 06/11] mm: Allow to offline unmovable PageOffline() pages via MEM_GOING_OFFLINE
...--- a/mm/page_isolation.c +++ b/mm/page_isolation.c @@ -151,6 +151,7 @@ __first_valid_page(unsigned long pfn, unsigned long nr_pages) * a bit mask) * MEMORY_OFFLINE - isolate to offline (!allocate) memory * e.g., skip over PageHWPoison() pages + * and PageOffline() pages. * REPORT_FAILURE - report details about the failure to * isolate the range * @@ -259,6 +260,14 @@ __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn, else if ((flags & MEMORY_OFFLINE) && PageHWPoison(page)) /* A HWPoisoned page cannot be also PageBuddy */ pfn++;...
2020 Mar 11
0
[PATCH v2 05/10] mm: Allow to offline unmovable PageOffline() pages via MEM_GOING_OFFLINE
...--- a/mm/page_isolation.c +++ b/mm/page_isolation.c @@ -151,6 +151,7 @@ __first_valid_page(unsigned long pfn, unsigned long nr_pages) * a bit mask) * MEMORY_OFFLINE - isolate to offline (!allocate) memory * e.g., skip over PageHWPoison() pages + * and PageOffline() pages. * REPORT_FAILURE - report details about the failure to * isolate the range * @@ -259,6 +260,14 @@ __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn, else if ((flags & MEMORY_OFFLINE) && PageHWPoison(page)) /* A HWPoisoned page cannot be also PageBuddy */ pfn++;...
2020 May 07
0
[PATCH v3 05/15] mm: Allow to offline unmovable PageOffline() pages via MEM_GOING_OFFLINE
...--- a/mm/page_isolation.c +++ b/mm/page_isolation.c @@ -151,6 +151,7 @@ __first_valid_page(unsigned long pfn, unsigned long nr_pages) * a bit mask) * MEMORY_OFFLINE - isolate to offline (!allocate) memory * e.g., skip over PageHWPoison() pages + * and PageOffline() pages. * REPORT_FAILURE - report details about the failure to * isolate the range * @@ -259,6 +260,14 @@ __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn, else if ((flags & MEMORY_OFFLINE) && PageHWPoison(page)) /* A HWPoisoned page cannot be also PageBuddy */ pfn++;...
2020 Apr 14
1
[PATCH v2 05/10] mm: Allow to offline unmovable PageOffline() pages via MEM_GOING_OFFLINE
...b/mm/page_isolation.c > @@ -151,6 +151,7 @@ __first_valid_page(unsigned long pfn, unsigned long nr_pages) > * a bit mask) > * MEMORY_OFFLINE - isolate to offline (!allocate) memory > * e.g., skip over PageHWPoison() pages > + * and PageOffline() pages. > * REPORT_FAILURE - report details about the failure to > * isolate the range > * > @@ -259,6 +260,14 @@ __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn, > else if ((flags & MEMORY_OFFLINE) && PageHWPoison(page)) > /* A HWPoisoned page cannot be also...
2019 Oct 24
2
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
On Wed 23-10-19 12:03:51, David Hildenbrand wrote: > >Do you see any downsides? > > The only downside I see is that we get more false negatives on > has_unmovable_pages(), eventually resulting in the offlining stage after > isolation to loop forever (as some PageOffline() pages are not movable > (especially, XEN balloon, HyperV balloon), there won't be progress). >
2019 Oct 24
2
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
On Wed 23-10-19 12:03:51, David Hildenbrand wrote: > >Do you see any downsides? > > The only downside I see is that we get more false negatives on > has_unmovable_pages(), eventually resulting in the offlining stage after > isolation to loop forever (as some PageOffline() pages are not movable > (especially, XEN balloon, HyperV balloon), there won't be progress). >
2020 Mar 10
1
[PATCH v1 06/11] mm: Allow to offline unmovable PageOffline() pages via MEM_GOING_OFFLINE
...b/mm/page_isolation.c > @@ -151,6 +151,7 @@ __first_valid_page(unsigned long pfn, unsigned long nr_pages) > * a bit mask) > * MEMORY_OFFLINE - isolate to offline (!allocate) memory > * e.g., skip over PageHWPoison() pages > + * and PageOffline() pages. > * REPORT_FAILURE - report details about the failure to > * isolate the range > * > @@ -259,6 +260,14 @@ __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn, > else if ((flags & MEMORY_OFFLINE) && PageHWPoison(page)) > /* A HWPoisoned page cannot be also...