From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751506AbdAYMBU (ORCPT ); Wed, 25 Jan 2017 07:01:20 -0500 Received: from mx2.suse.de ([195.135.220.15]:39233 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751383AbdAYMBT (ORCPT ); Wed, 25 Jan 2017 07:01:19 -0500 Date: Wed, 25 Jan 2017 13:01:15 +0100 From: Michal Hocko To: Yisheng Xie Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, n-horiguchi@ah.jp.nec.com, akpm@linux-foundation.org, minchan@kernel.org, vbabka@suse.cz, guohanjun@huawei.com, qiuxishi@huawei.com Subject: Re: [PATCH] mm/migration: make isolate_movable_page always defined Message-ID: <20170125120115.GL32377@dhcp22.suse.cz> References: <1485340563-60785-1-git-send-email-xieyisheng1@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1485340563-60785-1-git-send-email-xieyisheng1@huawei.com> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed 25-01-17 18:36:03, Yisheng Xie wrote: > Define isolate_movable_page as a static inline function when > CONFIG_MIGRATION is not enable. It should return false > here which means failed to isolate movable pages. > > This patch do not have any functional change but to resolve compile > error caused by former commit "HWPOISON: soft offlining for non-lru > movable page" with CONFIG_MIGRATION disabled. > > Signed-off-by: Yisheng Xie > --- > include/linux/migrate.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/linux/migrate.h b/include/linux/migrate.h > index ae8d475..631a8c8 100644 > --- a/include/linux/migrate.h > +++ b/include/linux/migrate.h > @@ -56,6 +56,8 @@ static inline int migrate_pages(struct list_head *l, new_page_t new, > free_page_t free, unsigned long private, enum migrate_mode mode, > int reason) > { return -ENOSYS; } > +static inline bool isolate_movable_page(struct page *page, isolate_mode_t mode) > + { return false; } OK, so we return false here which will make __soft_offline_page return true all the way up. Is this really what we want? Don't we want to return EBUSY in that case? The error code propagation here is just one big mess. > > static inline int migrate_prep(void) { return -ENOSYS; } > static inline int migrate_prep_local(void) { return -ENOSYS; } > -- > 1.7.12.4 > -- Michal Hocko SUSE Labs