From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754350AbbAUQxD (ORCPT ); Wed, 21 Jan 2015 11:53:03 -0500 Received: from mailout3.w1.samsung.com ([210.118.77.13]:41010 "EHLO mailout3.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753914AbbAUQwN (ORCPT ); Wed, 21 Jan 2015 11:52:13 -0500 X-AuditID: cbfec7f5-b7fc86d0000066b7-82-54bfd8aacecd From: Andrey Ryabinin To: linux-kernel@vger.kernel.org Cc: Andrey Ryabinin , Dmitry Vyukov , Konstantin Serebryany , Dmitry Chernenkov , Andrey Konovalov , Yuri Gribov , Konstantin Khlebnikov , Sasha Levin , Christoph Lameter , Joonsoo Kim , Andrew Morton , Dave Hansen , Andi Kleen , x86@kernel.org, linux-mm@kvack.org, Pekka Enberg , David Rientjes Subject: [PATCH v9 04/17] mm: slub: introduce virt_to_obj function. Date: Wed, 21 Jan 2015 19:51:32 +0300 Message-id: <1421859105-25253-5-git-send-email-a.ryabinin@samsung.com> X-Mailer: git-send-email 2.2.1 In-reply-to: <1421859105-25253-1-git-send-email-a.ryabinin@samsung.com> References: <1404905415-9046-1-git-send-email-a.ryabinin@samsung.com> <1421859105-25253-1-git-send-email-a.ryabinin@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrILMWRmVeSWpSXmKPExsVy+t/xq7qrbuwPMTjWbmix7dcjNovfe2ey WsxZv4bN4si17+wW17+9YbT49PIBo8Xzhw/ZLSY8bGO3WNndzGax/dlbJouVnQ9YLS7vmsNm cW/Nf1aLts//gMSSjUwWi4/cZrZ492wys8WPDY9ZHYQ85u/8yOixc9Zddo8Fm0o9Fu95yeSx aVUnm8emT5PYPbreXmHyODHjN4vHkyvTmTw+Pr3F4tG3ZRWjx+dNcgE8UVw2Kak5mWWpRfp2 CVwZm3t+sBd0s1Us6prL1sDYydrFyMkhIWAi8f/gG0YIW0ziwr31bF2MXBxCAksZJVYumMcM 4fQxSWy6dYUZpIpNQE/i36ztbCC2iICCxObeZ6wgRcwCn1kkHnddA0sICzhLTLr9GWwFi4Cq xIHtrUwgNq+Am8TdFXuYIdbJSWy8swKshlPAXWLm+YlMENuaGCU+H9nONoGRdwEjwypG0dTS 5ILipPRcI73ixNzi0rx0veT83E2MkGj4uoNx6TGrQ4wCHIxKPLwSPvtDhFgTy4orcw8xSnAw K4nwzr8OFOJNSaysSi3Kjy8qzUktPsTIxMEp1cAYdOt37cYgLscvzVYFul0SP9QFXlUJSJ8+ HN3Qo7XnRPDpjUcYtVcsZDDueZO0u1fu/qG627/5/QyVMnunK7SsXWzWs1Aqo37G/v26X07U X3ebn/xMckaK0p+VFwp6FU5IrtSPv8U47WmI2jZODuO98zkurfmx9Z7xK57rZx4HFTQe/V+1 9+ASJZbijERDLeai4kQAy9WSFmQCAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. 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 d82abd4..c75bc1d 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); +} + #endif /* _LINUX_SLUB_DEF_H */ -- 2.2.1