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 <zhuhui@xxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Thanks! -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>