search for: has_unmovable_pag

Displaying 20 results from an estimated 55 matches for "has_unmovable_pag".

Did you mean: has_unmovable_pages
2020 Jun 30
0
[PATCH v1 5/6] mm/page_alloc: restrict ZONE_MOVABLE optimization in has_unmovable_pages() to memory offlining
...ries to unplug memory right-to-left - in roughly MAX_ORDER - 1 granularity. In theory, the movable ZONE part would only shrink when unplugging memory from ZONE_MOVABLE. Let's perform the ZONE_MOVABLE optimization only for memory offlining, such that we reduce the number of false positives from has_unmovable_pages() in case of alloc_contig_range() on ZONE_MOVABLE. Note: We currently don't seem to have any user of alloc_contig_range() that actually uses ZONE_MOVABLE. This change is mostly valuable for the documentation. Cc: Andrew Morton <akpm at linux-foundation.org> Cc: Michal Hocko <mhocko...
2020 Jul 28
0
[PATCH v1 1/6] mm/page_alloc: tweak comments in has_unmovable_pages()
...+---------------- >> 1 file changed, 6 insertions(+), 16 deletions(-) >> >> diff --git a/mm/page_alloc.c b/mm/page_alloc.c >> index 48eb0f1410d47..bd3ebf08f09b9 100644 >> --- a/mm/page_alloc.c >> +++ b/mm/page_alloc.c >> @@ -8207,14 +8207,6 @@ struct page *has_unmovable_pages(struct zone *zone, struct page *page, >> unsigned long iter = 0; >> unsigned long pfn = page_to_pfn(page); >> >> - /* >> - * TODO we could make this much more efficient by not checking every >> - * page in the range if we know all of them are in MOVABLE...
2020 Jul 29
0
[PATCH v1 1/6] mm/page_alloc: tweak comments in has_unmovable_pages()
...sertions(+), 16 deletions(-) >>>> >>>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c >>>> index 48eb0f1410d47..bd3ebf08f09b9 100644 >>>> --- a/mm/page_alloc.c >>>> +++ b/mm/page_alloc.c >>>> @@ -8207,14 +8207,6 @@ struct page *has_unmovable_pages(struct zone *zone, struct page *page, >>>> unsigned long iter = 0; >>>> unsigned long pfn = page_to_pfn(page); >>>> >>>> - /* >>>> - * TODO we could make this much more efficient by not checking every >>>> - * page in...
2020 Jun 30
12
[PATCH v1 0/6] mm / virtio-mem: support ZONE_MOVABLE
...ed memory blocks in ZONE_MOVABLE, allowing partially plugged memory blocks to be online to ZONE_MOVABLE and also unplugging from such memory blocks. This is especially helpful for testing, but also paves the way for virtio-mem optimizations, allowing more memory to get reliably unplugged. Cleanup has_unmovable_pages() and set_migratetype_isolate(), providing better documentation of how ZONE_MOVABLE interacts with different kind of unmovable pages (memory offlining vs. alloc_contig_range()). David Hildenbrand (6): mm/page_alloc: tweak comments in has_unmovable_pages() mm/page_isolation: don't dump_pa...
2020 Jun 30
12
[PATCH v1 0/6] mm / virtio-mem: support ZONE_MOVABLE
...ed memory blocks in ZONE_MOVABLE, allowing partially plugged memory blocks to be online to ZONE_MOVABLE and also unplugging from such memory blocks. This is especially helpful for testing, but also paves the way for virtio-mem optimizations, allowing more memory to get reliably unplugged. Cleanup has_unmovable_pages() and set_migratetype_isolate(), providing better documentation of how ZONE_MOVABLE interacts with different kind of unmovable pages (memory offlining vs. alloc_contig_range()). David Hildenbrand (6): mm/page_alloc: tweak comments in has_unmovable_pages() mm/page_isolation: don't dump_pa...
2019 Oct 16
4
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
...t; buddy). > > Let's use "PageOffline() + reference count = 0" as a sign to > memory offlining code that these pages can simply be skipped when > offlining, similar to free or HWPoison pages. > > Pass flags to test_pages_isolated(), similar as already done for > has_unmovable_pages(). Use a new flag to indicate the > requirement of memory offlining to skip over these special pages. > > In has_unmovable_pages(), make sure the pages won't be detected as > movable. This is not strictly necessary, however makes e.g., > alloc_contig_range() stop early, trying...
2019 Oct 16
4
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
...t; buddy). > > Let's use "PageOffline() + reference count = 0" as a sign to > memory offlining code that these pages can simply be skipped when > offlining, similar to free or HWPoison pages. > > Pass flags to test_pages_isolated(), similar as already done for > has_unmovable_pages(). Use a new flag to indicate the > requirement of memory offlining to skip over these special pages. > > In has_unmovable_pages(), make sure the pages won't be detected as > movable. This is not strictly necessary, however makes e.g., > alloc_contig_range() stop early, trying...
2019 Oct 22
2
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
...) works like this: > > > > > > 1) start_isolate_page_range() > > > -> offline pages with a reference count of one will be detected as > > > unmovable -> offlining aborted. (see below on the memory isolation notifier) > > > > I am assuming that has_unmovable_pages would skip over those pages. Your > > patch already does that, no? > > Yes, this works IFF the reference count is 0 (IOW, this patch). Not with a > reference count of 1 (unless the pages are movable, like with balloon > compaction). I am pretty sure that has_unmovable_pages ca...
2019 Oct 22
2
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
...) works like this: > > > > > > 1) start_isolate_page_range() > > > -> offline pages with a reference count of one will be detected as > > > unmovable -> offlining aborted. (see below on the memory isolation notifier) > > > > I am assuming that has_unmovable_pages would skip over those pages. Your > > patch already does that, no? > > Yes, this works IFF the reference count is 0 (IOW, this patch). Not with a > reference count of 1 (unless the pages are movable, like with balloon > compaction). I am pretty sure that has_unmovable_pages ca...
2020 Aug 04
8
[PATCH v4 0/6] mm / virtio-mem: support ZONE_MOVABLE
...ory blocks. This avoids surprises when onlining of memory blocks suddenly fails, just because they are not completely populated by virtio-mem (yet). This is especially helpful for testing, but also paves the way for virtio-mem optimizations, allowing more memory to get reliably unplugged. Cleanup has_unmovable_pages() and set_migratetype_isolate(), providing better documentation of how ZONE_MOVABLE interacts with different kind of unmovable pages (memory offlining vs. alloc_contig_range()). v3 -> v4: - "mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate()" -- Fix typo in descript...
2020 Aug 04
8
[PATCH v4 0/6] mm / virtio-mem: support ZONE_MOVABLE
...ory blocks. This avoids surprises when onlining of memory blocks suddenly fails, just because they are not completely populated by virtio-mem (yet). This is especially helpful for testing, but also paves the way for virtio-mem optimizations, allowing more memory to get reliably unplugged. Cleanup has_unmovable_pages() and set_migratetype_isolate(), providing better documentation of how ZONE_MOVABLE interacts with different kind of unmovable pages (memory offlining vs. alloc_contig_range()). v3 -> v4: - "mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate()" -- Fix typo in descript...
2019 Sep 19
0
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
...ils and the pages are suddenly in the buddy). Let's use "PageOffline() + reference count = 0" as a sign to memory offlining code that these pages can simply be skipped when offlining, similar to free or HWPoison pages. Pass flags to test_pages_isolated(), similar as already done for has_unmovable_pages(). Use a new flag to indicate the requirement of memory offlining to skip over these special pages. In has_unmovable_pages(), make sure the pages won't be detected as movable. This is not strictly necessary, however makes e.g., alloc_contig_range() stop early, trying to isolate such page blo...
2019 Oct 18
2
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
...e with some further explanations > > __offline_pages() works like this: > > 1) start_isolate_page_range() > -> offline pages with a reference count of one will be detected as > unmovable -> offlining aborted. (see below on the memory isolation notifier) I am assuming that has_unmovable_pages would skip over those pages. Your patch already does that, no? > 2) memory_notify(MEM_GOING_OFFLINE, &arg); > -> Here, we could release all pages to the buddy, clearing PG_offline > -> PF_offline must not be cleared so dumping tools will not touch > these pages. There is...
2019 Oct 18
2
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
...e with some further explanations > > __offline_pages() works like this: > > 1) start_isolate_page_range() > -> offline pages with a reference count of one will be detected as > unmovable -> offlining aborted. (see below on the memory isolation notifier) I am assuming that has_unmovable_pages would skip over those pages. Your patch already does that, no? > 2) memory_notify(MEM_GOING_OFFLINE, &arg); > -> Here, we could release all pages to the buddy, clearing PG_offline > -> PF_offline must not be cleared so dumping tools will not touch > these pages. There is...
2020 Aug 10
0
[PATCH v4 0/6] mm / virtio-mem: support ZONE_MOVABLE
...hen onlining > of memory blocks suddenly fails, just because they are not completely > populated by virtio-mem (yet). > > This is especially helpful for testing, but also paves the way for > virtio-mem optimizations, allowing more memory to get reliably unplugged. > > Cleanup has_unmovable_pages() and set_migratetype_isolate(), providing > better documentation of how ZONE_MOVABLE interacts with different kind of > unmovable pages (memory offlining vs. alloc_contig_range()). > > v3 -> v4: > - "mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate()&quot...
2019 Oct 22
0
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
>> Please note that we have other users that use PG_offline + refcount >= 1 >> (HyperV balloon, XEN). We should not affect these users (IOW, >> has_unmovable_pages() has to stop right there if we see one of these pages). > > OK, this is exactly what I was worried about. I can see why you might > want to go an easier way and rule those users out but wouldn't be it > actually more reasonable to explicitly request PageOffline users to > imp...
2020 Jul 30
7
[PATCH v2 0/6] mm / virtio-mem: support ZONE_MOVABLE
...ed memory blocks in ZONE_MOVABLE, allowing partially plugged memory blocks to be online to ZONE_MOVABLE and also unplugging from such memory blocks. This is especially helpful for testing, but also paves the way for virtio-mem optimizations, allowing more memory to get reliably unplugged. Cleanup has_unmovable_pages() and set_migratetype_isolate(), providing better documentation of how ZONE_MOVABLE interacts with different kind of unmovable pages (memory offlining vs. alloc_contig_range()). v1 -> v2: - "mm/page_isolation: don't dump_page(NULL) in set_migratetype_isolate()" -- Move to positi...
2020 Aug 16
9
[PATCH v5 0/6] mm / virtio-mem: support ZONE_MOVABLE
...ory blocks. This avoids surprises when onlining of memory blocks suddenly fails, just because they are not completely populated by virtio-mem (yet). This is especially helpful for testing, but also paves the way for virtio-mem optimizations, allowing more memory to get reliably unplugged. Cleanup has_unmovable_pages() and set_migratetype_isolate(), providing better documentation of how ZONE_MOVABLE interacts with different kind of unmovable pages (memory offlining vs. alloc_contig_range()). v4 -> v5: - Rename "mm/page_isolation: don't dump_page(NULL) in set_migratetype_isolate()" to &quot...
2020 Aug 16
9
[PATCH v5 0/6] mm / virtio-mem: support ZONE_MOVABLE
...ory blocks. This avoids surprises when onlining of memory blocks suddenly fails, just because they are not completely populated by virtio-mem (yet). This is especially helpful for testing, but also paves the way for virtio-mem optimizations, allowing more memory to get reliably unplugged. Cleanup has_unmovable_pages() and set_migratetype_isolate(), providing better documentation of how ZONE_MOVABLE interacts with different kind of unmovable pages (memory offlining vs. alloc_contig_range()). v4 -> v5: - Rename "mm/page_isolation: don't dump_page(NULL) in set_migratetype_isolate()" to &quot...
2019 Oct 16
3
[PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0
...ine() + reference count = 0" as a sign to > > > memory offlining code that these pages can simply be skipped when > > > offlining, similar to free or HWPoison pages. > > > > > > Pass flags to test_pages_isolated(), similar as already done for > > > has_unmovable_pages(). Use a new flag to indicate the > > > requirement of memory offlining to skip over these special pages. > > > > > > In has_unmovable_pages(), make sure the pages won't be detected as > > > movable. This is not strictly necessary, however makes e.g., >...