From: Vlastimil Babka <vbabka@suse.cz> To: David Hildenbrand <david@redhat.com>, linux-kernel@vger.kernel.org Cc: virtualization@lists.linux-foundation.org, linux-mm@kvack.org, Baoquan He <bhe@redhat.com>, Pankaj Gupta <pankaj.gupta.linux@gmail.com>, Andrew Morton <akpm@linux-foundation.org>, Michal Hocko <mhocko@suse.com>, "Michael S . Tsirkin" <mst@redhat.com>, Mike Kravetz <mike.kravetz@oracle.com> Subject: Re: [PATCH v2 4/6] mm/page_isolation: cleanup set_migratetype_isolate() Date: Thu, 6 Aug 2020 15:35:18 +0200 [thread overview] Message-ID: <74a25986-87cb-7ab6-e7a9-0c2aefcabe4a@suse.cz> (raw) In-Reply-To: <20200730093416.36210-5-david@redhat.com> On 7/30/20 11:34 AM, David Hildenbrand wrote: > Let's clean it up a bit, simplifying error handling and getting rid of > the label. Nit: the label was already removed by patch 1/6? > Reviewed-by: Baoquan He <bhe@redhat.com> > Reviewed-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Michal Hocko <mhocko@suse.com> > Cc: Michael S. Tsirkin <mst@redhat.com> > Cc: Mike Kravetz <mike.kravetz@oracle.com> > Signed-off-by: David Hildenbrand <david@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, flags); > > @@ -51,13 +48,13 @@ static int set_migratetype_isolate(struct page *page, int migratetype, int isol_ > 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, "unmovable page"); > } > > - return ret; > + return -EBUSY; > } > > static void unset_migratetype_isolate(struct page *page, unsigned migratetype) >
WARNING: multiple messages have this Message-ID (diff)
From: Vlastimil Babka <vbabka@suse.cz> To: David Hildenbrand <david@redhat.com>, linux-kernel@vger.kernel.org Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>, Michal Hocko <mhocko@suse.com>, Baoquan He <bhe@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>, virtualization@lists.linux-foundation.org, linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>, Mike Kravetz <mike.kravetz@oracle.com> Subject: Re: [PATCH v2 4/6] mm/page_isolation: cleanup set_migratetype_isolate() Date: Thu, 6 Aug 2020 15:35:18 +0200 [thread overview] Message-ID: <74a25986-87cb-7ab6-e7a9-0c2aefcabe4a@suse.cz> (raw) In-Reply-To: <20200730093416.36210-5-david@redhat.com> On 7/30/20 11:34 AM, David Hildenbrand wrote: > Let's clean it up a bit, simplifying error handling and getting rid of > the label. Nit: the label was already removed by patch 1/6? > Reviewed-by: Baoquan He <bhe@redhat.com> > Reviewed-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Michal Hocko <mhocko@suse.com> > Cc: Michael S. Tsirkin <mst@redhat.com> > Cc: Mike Kravetz <mike.kravetz@oracle.com> > Signed-off-by: David Hildenbrand <david@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, flags); > > @@ -51,13 +48,13 @@ static int set_migratetype_isolate(struct page *page, int migratetype, int isol_ > 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, "unmovable page"); > } > > - return ret; > + return -EBUSY; > } > > static void unset_migratetype_isolate(struct page *page, unsigned migratetype) > _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
next prev parent reply other threads:[~2020-08-06 17:49 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-30 9:34 [PATCH v2 0/6] mm / virtio-mem: support ZONE_MOVABLE David Hildenbrand 2020-07-30 9:34 ` [PATCH v2 1/6] mm/page_isolation: don't dump_page(NULL) in set_migratetype_isolate() David Hildenbrand 2020-07-30 9:34 ` [PATCH v2 2/6] mm/page_alloc: tweak comments in has_unmovable_pages() David Hildenbrand 2020-07-30 9:34 ` [PATCH v2 3/6] mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate() David Hildenbrand 2020-07-30 9:34 ` [PATCH v2 4/6] mm/page_isolation: cleanup set_migratetype_isolate() David Hildenbrand 2020-08-06 13:35 ` Vlastimil Babka [this message] 2020-08-06 13:35 ` Vlastimil Babka 2020-08-06 14:19 ` David Hildenbrand 2020-08-06 14:19 ` David Hildenbrand 2020-07-30 9:34 ` [PATCH v2 5/6] virtio-mem: don't special-case ZONE_MOVABLE David Hildenbrand 2020-07-30 9:34 ` [PATCH v2 6/6] mm: document semantics of ZONE_MOVABLE David Hildenbrand
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=74a25986-87cb-7ab6-e7a9-0c2aefcabe4a@suse.cz \ --to=vbabka@suse.cz \ --cc=akpm@linux-foundation.org \ --cc=bhe@redhat.com \ --cc=david@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mhocko@suse.com \ --cc=mike.kravetz@oracle.com \ --cc=mst@redhat.com \ --cc=pankaj.gupta.linux@gmail.com \ --cc=virtualization@lists.linux-foundation.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.