From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753298AbcA0EqP (ORCPT ); Tue, 26 Jan 2016 23:46:15 -0500 Received: from LGEAMRELO11.lge.com ([156.147.23.51]:47030 "EHLO lgeamrelo11.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751994AbcA0EqO (ORCPT ); Tue, 26 Jan 2016 23:46:14 -0500 X-Original-SENDERIP: 156.147.1.126 X-Original-MAILFROM: iamjoonsoo.kim@lge.com X-Original-SENDERIP: 10.177.222.138 X-Original-MAILFROM: iamjoonsoo.kim@lge.com Date: Wed, 27 Jan 2016 13:46:14 +0900 From: Joonsoo Kim To: Andrew Morton Cc: Christoph Lameter , Pekka Enberg , David Rientjes , Jesper Dangaard Brouer , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 00/16] mm/slab: introduce new freed objects management way, OBJFREELIST_SLAB Message-ID: <20160127044614.GA8326@js1304-P5Q-DELUXE> References: <1452749069-15334-1-git-send-email-iamjoonsoo.kim@lge.com> <20160126204013.a065301b.akpm@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160126204013.a065301b.akpm@linux-foundation.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 26, 2016 at 08:40:13PM -0800, Andrew Morton wrote: > On Thu, 14 Jan 2016 14:24:13 +0900 Joonsoo Kim wrote: > > > This patchset implements new freed object management way, that is, > > OBJFREELIST_SLAB. Purpose of it is to reduce memory overhead in SLAB. > > > > SLAB needs a array to manage freed objects in a slab. If there is > > leftover after objects are packed into a slab, we can use it as > > a management array, and, in this case, there is no memory waste. > > But, in the other cases, we need to allocate extra memory for > > a management array or utilize dedicated internal memory in a slab for it. > > Both cases causes memory waste so it's not good. > > > > With this patchset, freed object itself can be used for a management > > array. So, memory waste could be reduced. Detailed idea and numbers > > are described in last patch's commit description. Please refer it. > > > > In fact, I tested another idea implementing OBJFREELIST_SLAB with > > extendable linked array through another freed object. It can remove > > memory waste completely but it causes more computational overhead > > in critical lock path and it seems that overhead outweigh benefit. > > So, this patchset doesn't include it. I will attach prototype just for > > a reference. > > It appears that this patchset is perhaps due a couple of touchups from > Christoph's comments. I'll grab it as-is as I want to get an mmotm > into linux-next tomorrow then vanish for a few days. Hello, Andrew. Could you add just one small fix below to 16/16 "mm/slab: introduce new slab management type, OBJFREELIST_SLAB"? Thanks. ------------>8------------- >>From f2afad62904fe3129c1a296987954076fb8f6b5a Mon Sep 17 00:00:00 2001 From: Joonsoo Kim Date: Wed, 27 Jan 2016 10:36:05 +0900 Subject: [PATCH] fix SLAB_DESTROTY_BY_RCU --- mm/slab.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/slab.c b/mm/slab.c index 56777a7..ee44d78 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -2019,7 +2019,7 @@ static bool set_objfreelist_slab_cache(struct kmem_cache *cachep, cachep->num = 0; - if (cachep->ctor) + if (cachep->ctor || flags & SLAB_DESTROY_BY_RCU) return false; left = calculate_slab_order(cachep, size, -- 1.9.1