From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755432AbcANQV5 (ORCPT ); Thu, 14 Jan 2016 11:21:57 -0500 Received: from mail-ob0-f196.google.com ([209.85.214.196]:33206 "EHLO mail-ob0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753692AbcANQVz (ORCPT ); Thu, 14 Jan 2016 11:21:55 -0500 MIME-Version: 1.0 In-Reply-To: References: <1452749069-15334-1-git-send-email-iamjoonsoo.kim@lge.com> <1452749069-15334-10-git-send-email-iamjoonsoo.kim@lge.com> Date: Fri, 15 Jan 2016 01:21:54 +0900 Message-ID: Subject: Re: [PATCH 09/16] mm/slab: put the freelist at the end of slab page From: Joonsoo Kim To: Christoph Lameter Cc: Andrew Morton , Pekka Enberg , David Rientjes , Joonsoo Kim , Jesper Dangaard Brouer , Linux Memory Management List , LKML Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 2016-01-15 0:26 GMT+09:00 Christoph Lameter : > On Thu, 14 Jan 2016, Joonsoo Kim wrote: > >> Currently, the freelist is at the front of slab page. This requires >> extra space to meet object alignment requirement. If we put the freelist >> at the end of slab page, object could start at page boundary and will >> be at correct alignment. This is possible because freelist has >> no alignment constraint itself. >> >> This gives us two benefits. It removes extra memory space >> for the freelist alignment and remove complex calculation >> at cache initialization step. I can't think notable drawback here. > > > The third one is that the padding space at the end of the slab could > actually be used for the freelist if it fits. Yes. > The drawback may be that the location of the freelist at the beginning of > the page is more cache effective because the cache prefetcher may be able > to get the following cachelines and effectively hit the first object. > However, this is rather dubious speculation. I think so, too. :) If then, could you give me an ack? Thanks.