Messages in this thread | | | Subject | Re: [PATCH] mm, memory_hotplug: Don't bail out in do_migrate_range prematurely | From | David Hildenbrand <> | Date | Tue, 11 Dec 2018 10:37:43 +0100 |
| |
On 11.12.18 09:57, osalvador@suse.de wrote: > On 2018-12-11 09:50, Oscar Salvador wrote: > >> - } else { >> - pr_warn("failed to isolate pfn %lx\n", pfn); >> - dump_page(page, "isolation failed"); >> - put_page(page); >> - /* Because we don't have big zone->lock. we should >> - check this again here. */ >> - if (page_count(page)) { >> - not_managed++; >> - ret = -EBUSY; >> - break; > > I forgot that here we should at least leave the put_page(). > But leave also the dump_page() and the pr_warn(). > > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -1394,6 +1394,10 @@ do_migrate_range(unsigned long start_pfn, > unsigned long end_pfn) > inc_node_page_state(page, > NR_ISOLATED_ANON + > > page_is_file_cache(page)); > > + } else { > + pr_warn("failed to isolate pfn %lx\n", pfn); > + dump_page(page, "isolation failed"); > + put_page(page);
When we're stuck with one problematic page, and we keep looping over that function, won't that print out *way too much* messages? Shouldn't that be rate limited somehow (same applies to other callers in this file)
> } > } > if (!list_empty(&source)) { >
--
Thanks,
David / dhildenb
| |