From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751409AbcCREJb (ORCPT ); Fri, 18 Mar 2016 00:09:31 -0400 Received: from mail-pf0-f175.google.com ([209.85.192.175]:34356 "EHLO mail-pf0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751176AbcCREJW (ORCPT ); Fri, 18 Mar 2016 00:09:22 -0400 Date: Fri, 18 Mar 2016 13:10:42 +0900 From: Sergey Senozhatsky To: Minchan Kim Cc: Sergey Senozhatsky , Sergey Senozhatsky , Andrew Morton , Joonsoo Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [RFC][PATCH v3 1/5] mm/zsmalloc: introduce class auto-compaction Message-ID: <20160318041042.GD572@swordfish> References: <1457016363-11339-2-git-send-email-sergey.senozhatsky@gmail.com> <20160314061759.GC10675@bbox> <20160314074159.GA542@swordfish> <20160315004611.GA19514@bbox> <20160315013303.GC2126@swordfish> <20160315061723.GB25154@bbox> <20160317012929.GA489@swordfish> <20160318011741.GD2154@bbox> <20160318020029.GC572@swordfish> <20160318040349.GA13476@bbox> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160318040349.GA13476@bbox> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On (03/18/16 13:03), Minchan Kim wrote: [..] > > I have some concerns here. WQ_MEM_RECLAIM implies that there is a kthread > > attached to wq, a rescuer thread, which will be idle until wq declares mayday. > > But the kthread will be allocated anyway. And we can queue only one global > > compaction work at a time; so wq does not buy us a lot here and a simple > > wake_up_process() looks much better. it make sense to use wq if we can have > > N compaction jobs queued, like I did in my initial patch, but otherwise > > it's sort of overkill, isn't it? [..] > If we can use normal wq rather than WQ_MEM_RECLAIM, wq doesn't need > own kthread attached the work. Right? If so, we can blow away that > resource reservation problem. right. if shrinker callbacks will be around (and it seems they will), then we don't have to guarantee any forward progress in background compaction. so yes, we can use normal wq and there is no need in WQ_MEM_RECLAIM. [..] > > so you want to have > > > > zs_free() > > check pool watermark > > queue class compaction > > No queue class compaction. > > > queue pool compaction > > Yes. queue pool compaction. > > > > > ? > > > > I think a simpler one will be to just queue global compaction, if pool > > is fragmented -- compact everything, like we do in shrinker callback. > > That's what I said. :) ah, ok. -ss