Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751522AbdHPEBK (ORCPT ); Wed, 16 Aug 2017 00:01:10 -0400 Received: from LGEAMRELO11.lge.com ([156.147.23.51]:48132 "EHLO lgeamrelo11.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751082AbdHPEBJ (ORCPT ); Wed, 16 Aug 2017 00:01:09 -0400 X-Original-SENDERIP: 156.147.1.151 X-Original-MAILFROM: minchan@kernel.org X-Original-SENDERIP: 10.177.220.163 X-Original-MAILFROM: minchan@kernel.org Date: Wed, 16 Aug 2017 13:01:08 +0900 From: Minchan Kim To: Hui Zhu Cc: ngupta@vflare.org, sergey.senozhatsky.work@gmail.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, teawater@gmail.com Subject: Re: [PATCH v3] zsmalloc: zs_page_migrate: schedule free_work if zspage is ZS_EMPTY Message-ID: <20170816040107.GA24294@blaptop> References: <1502853581-21218-1-git-send-email-zhuhui@xiaomi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1502853581-21218-1-git-send-email-zhuhui@xiaomi.com> User-Agent: Mutt/1.8.3 (2017-05-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 939 Lines: 24 On Wed, Aug 16, 2017 at 11:19:41AM +0800, Hui Zhu wrote: > After commit [1] zs_page_migrate can handle the ZS_EMPTY zspage. > > But I got some false in zs_page_isolate: > if (get_zspage_inuse(zspage) == 0) { > spin_unlock(&class->lock); > return false; > } > The page of this zspage was migrated in before. > > The reason is commit [1] just handle the "page" but not "newpage" > then it keep the "newpage" with a empty zspage inside system. > Root cause is zs_page_isolate remove it from ZS_EMPTY list but not > call zs_page_putback "schedule_work(&pool->free_work);". Because > zs_page_migrate done the job without "schedule_work(&pool->free_work);" > > Make this patch let zs_page_migrate wake up free_work if need. > > [1] zsmalloc-zs_page_migrate-skip-unnecessary-loops-but-not-return-ebusy-if-zspage-is-not-inuse-fix.patch > > Signed-off-by: Hui Zhu Acked-by: Minchan Kim Thanks!