Re: [PATCH] mm/migration: make isolate_movable_page always defined

From: Yisheng Xie
Date: Wed Jan 25 2017 - 08:27:31 EST



Hi, Michal,
Thanks for reviewing.
On 01/25/2017 08:01 PM, Michal Hocko wrote:
> 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 <xieyisheng1@xxxxxxxxxx>
>> ---
>> 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.
That's right, my stupid coding really make a big mess here.
I will make another version for patch "HWPOISON:
soft offlining for non-lru movable page" to avoid that.

Thanks
Yisheng Xie.
>>
>> static inline int migrate_prep(void) { return -ENOSYS; }
>> static inline int migrate_prep_local(void) { return -ENOSYS; }
>> --
>> 1.7.12.4
>>