[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAAmzW4Mzx0FWP6KK7gk88c07RP46WaA9i5DePnzSWt7XP6qQNw@mail.gmail.com>
Date: Sat, 19 Oct 2013 00:12:54 +0900
From: JoonSoo Kim <js1304@...il.com>
To: Christoph Lameter <cl@...ux.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@....com>,
Pekka Enberg <penberg@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
David Rientjes <rientjes@...gle.com>,
Linux Memory Management List <linux-mm@...ck.org>,
LKML <linux-kernel@...r.kernel.org>,
Wanpeng Li <liwanp@...ux.vnet.ibm.com>
Subject: Re: [PATCH v2 3/5] slab: restrict the number of objects in a slab
2013/10/18 Christoph Lameter <cl@...ux.com>:
> n Thu, 17 Oct 2013, Joonsoo Kim wrote:
>
>> To prepare to implement byte sized index for managing the freelist
>> of a slab, we should restrict the number of objects in a slab to be less
>> or equal to 256, since byte only represent 256 different values.
>> Setting the size of object to value equal or more than newly introduced
>> SLAB_MIN_SIZE ensures that the number of objects in a slab is less or
>> equal to 256 for a slab with 1 page.
>
> Ok so that results in a mininum size object size of 2^(12 - 8) = 2^4 ==
> 16 bytes on x86. This is not true for order 1 pages (which SLAB also
> supports) where we need 32 bytes.
According to current slab size calculating logic, slab whose object size is
less or equal to 16 bytes use only order 0 page. So there is no problem.
> Problems may arise on PPC or IA64 where the page size may be larger than
> 64K. With 64K we have a mininum size of 2^(16 - 8) = 256 bytes. For those
> arches we may need 16 bit sized indexes. Maybe make that compile time
> determined base on page size? > 64KByte results in 16 bit sized indexes?
Okay. I will try it.
> Otherwise I like this approach. Simplifies a lot and its very cache
> friendly.
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists