From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751895AbbFDDmS (ORCPT ); Wed, 3 Jun 2015 23:42:18 -0400 Received: from mail-pd0-f178.google.com ([209.85.192.178]:34073 "EHLO mail-pd0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751043AbbFDDmH (ORCPT ); Wed, 3 Jun 2015 23:42:07 -0400 Date: Thu, 4 Jun 2015 12:42:30 +0900 From: Sergey Senozhatsky To: Minchan Kim Cc: Sergey Senozhatsky , Sergey Senozhatsky , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [RFC][PATCH 03/10] zsmalloc: introduce zs_can_compact() function Message-ID: <20150604034230.GH1951@swordfish> References: <1432911928-14654-1-git-send-email-sergey.senozhatsky@gmail.com> <1432911928-14654-4-git-send-email-sergey.senozhatsky@gmail.com> <20150604025533.GE2241@blaptop> <20150604031514.GE1951@swordfish> <20150604033014.GG2241@blaptop> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150604033014.GG2241@blaptop> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On (06/04/15 12:30), Minchan Kim wrote: > > -- free objects in class: 5 (free-objs class capacity) > > -- page1: inuse 2 > > -- page2: inuse 2 > > -- page3: inuse 3 > > -- page4: inuse 2 > > What scenario do you have a cocern? > Could you describe this example more clear? you mean "how is this even possible"? well, for example, make -jX make clean can introduce a significant fragmentation. no new objects, just random objs removal. assuming that we keep some of the objects, allocated during compilation. e.g. ... page1 allocate baz.so allocate foo.o page2 allocate bar.o allocate foo.so ... pageN now `make clean` page1: allocated baz.so empty page2 empty allocated foo.so ... pageN in the worst case, every page can turn out to be ALMOST_EMPTY. -ss