From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762736AbbA3QRq (ORCPT ); Fri, 30 Jan 2015 11:17:46 -0500 Received: from mailout1.w1.samsung.com ([210.118.77.11]:61066 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753846AbbA3QRo (ORCPT ); Fri, 30 Jan 2015 11:17:44 -0500 X-AuditID: cbfec7f4-b7f126d000001e9a-02-54cbae15b443 Message-id: <54CBAE9E.2090503@samsung.com> Date: Fri, 30 Jan 2015 19:17:34 +0300 From: Andrey Ryabinin User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-version: 1.0 To: Andrew Morton Cc: linux-kernel@vger.kernel.org, Dmitry Vyukov , Konstantin Serebryany , Dmitry Chernenkov , Andrey Konovalov , Yuri Gribov , Konstantin Khlebnikov , Sasha Levin , Christoph Lameter , Joonsoo Kim , Dave Hansen , Andi Kleen , x86@kernel.org, linux-mm@kvack.org, Pekka Enberg , David Rientjes Subject: Re: [PATCH v10 04/17] mm: slub: introduce virt_to_obj function. References: <1404905415-9046-1-git-send-email-a.ryabinin@samsung.com> <1422544321-24232-1-git-send-email-a.ryabinin@samsung.com> <1422544321-24232-5-git-send-email-a.ryabinin@samsung.com> <20150129151234.a94bea44ae34bc90dcd148b0@linux-foundation.org> In-reply-to: <20150129151234.a94bea44ae34bc90dcd148b0@linux-foundation.org> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuplkeLIzCtJLcpLzFFi42I5/e/4ZV3RdadDDHYd0rb4vXcmq8Wc9WvY LI5c+85ucf3bG0aLTy8fMFo8f/iQ3WLCwzZ2i5XdzWwW25+9ZbJY2fmA1eLyrjlsFvfW/Ge1 aPv8D0gs2chksfjIbWaLd88mM1v82PCY1UHQY/7Oj4weO2fdZfdYsKnUY/Gel0wem1Z1snls +jSJ3aPr7RUmjxMzfrN4PLkyncnj49NbLB6fN8kFcEdx2aSk5mSWpRbp2yVwZbxouMdSsJuj YkrncbYGxtdsXYycHBICJhLfV85igbDFJC7cWw8U5+IQEljKKDG5bxILhNPMJDH16VQmkCpe AS2JHZ3PGEFsFgFVifsv7rGD2GwCehL/Zm0HmyoqECHxYdVXNoh6QYkfk++BbRAR0JVY9XwX M8hQZoEdLBLbjk8CaxYW8JD4fnwu1OoGJokl766BdXAKeEucOfcVqIgDqENP4v5FLZAws4C8 xOY1b5knMArMQrJjFkLVLCRVCxiZVzGKppYmFxQnpeca6hUn5haX5qXrJefnbmKEROGXHYyL j1kdYhTgYFTi4b2ReDpEiDWxrLgy9xCjBAezkgjvlElAId6UxMqq1KL8+KLSnNTiQ4xMHJxS DYy8H4rnxF/cdOXF40eaMTJMX64L8tw7Hph//fBWU7nrlU9bHqy+ef2kJ0P3m7qcS9qSm4Ry 6h8uXW9eVlEycfPXjku5FlPi/Kw5Uw+fEtVUXiZonTNXI+ju3vM7U3SrNvYJSbEpl+Wd3ddm UCq5VTLvy4Y/b02777CdaZl0bPWPm9NEd89hLNZXYinOSDTUYi4qTgQAv1Zd6qACAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/30/2015 02:12 AM, Andrew Morton wrote: > On Thu, 29 Jan 2015 18:11:48 +0300 Andrey Ryabinin wrote: > >> virt_to_obj takes kmem_cache address, address of slab page, >> address x pointing somewhere inside slab object, >> and returns address of the begging of object. > > "beginning" > > The above text may as well be placed into slub_def.h as a comment. > Ok. >> Signed-off-by: Andrey Ryabinin >> Acked-by: Christoph Lameter >> --- >> include/linux/slub_def.h | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h >> index 9abf04e..eca3883 100644 >> --- a/include/linux/slub_def.h >> +++ b/include/linux/slub_def.h >> @@ -110,4 +110,9 @@ static inline void sysfs_slab_remove(struct kmem_cache *s) >> } >> #endif >> >> +static inline void *virt_to_obj(struct kmem_cache *s, void *slab_page, void *x) >> +{ >> + return x - ((x - slab_page) % s->size); >> +} > > "const void *x" would be better. > Yep.