From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757606AbcBACzO (ORCPT ); Sun, 31 Jan 2016 21:55:14 -0500 Received: from LGEAMRELO12.lge.com ([156.147.23.52]:54410 "EHLO lgeamrelo12.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752338AbcBACzM (ORCPT ); Sun, 31 Jan 2016 21:55:12 -0500 X-Original-SENDERIP: 156.147.1.125 X-Original-MAILFROM: iamjoonsoo.kim@lge.com X-Original-SENDERIP: 10.177.222.138 X-Original-MAILFROM: iamjoonsoo.kim@lge.com Date: Mon, 1 Feb 2016 11:55:31 +0900 From: Joonsoo Kim To: Alexander Potapenko Cc: kasan-dev@googlegroups.com, Christoph Lameter , linux-kernel@vger.kernel.org, Dmitriy Vyukov , Andrey Ryabinin , linux-mm@kvack.org, Andrey Konovalov , Andrew Morton , rostedt@goodmis.org Subject: Re: [PATCH v1 5/8] mm, kasan: Stackdepot implementation. Enable stackdepot for SLAB Message-ID: <20160201025530.GD32125@js1304-P5Q-DELUXE> References: <20160128074051.GA15426@js1304-P5Q-DELUXE> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 Thu, Jan 28, 2016 at 02:27:44PM +0100, Alexander Potapenko wrote: > On Thu, Jan 28, 2016 at 1:51 PM, Alexander Potapenko wrote: > > > > On Jan 28, 2016 8:40 AM, "Joonsoo Kim" wrote: > >> > >> Hello, > >> > >> On Wed, Jan 27, 2016 at 07:25:10PM +0100, Alexander Potapenko wrote: > >> > Stack depot will allow KASAN store allocation/deallocation stack traces > >> > for memory chunks. The stack traces are stored in a hash table and > >> > referenced by handles which reside in the kasan_alloc_meta and > >> > kasan_free_meta structures in the allocated memory chunks. > >> > >> Looks really nice! > >> > >> Could it be more generalized to be used by other feature that need to > >> store stack trace such as tracepoint or page owner? > > Certainly yes, but see below. > > > >> If it could be, there is one more requirement. > >> I understand the fact that entry is never removed from depot makes things > >> very simpler, but, for general usecases, it's better to use reference > >> count > >> and allow to remove. Is it possible? > > For our use case reference counting is not really necessary, and it would > > introduce unwanted contention. Okay. > > There are two possible options, each having its advantages and drawbacks: we > > can let the clients store the refcounters directly in their stacks (more > > universal, but harder to use for the clients), or keep the counters in the > > depot but add an API that does not change them (easier for the clients, but > > potentially error-prone). > > I'd say it's better to actually find at least one more user for the stack > > depot in order to understand the requirements, and refactor the code after > > that. I re-think the page owner case and it also may not need refcount. For now, just moving this stuff to /lib would be helpful for other future user. BTW, is there any performance number? I guess that it could affect the performance. Thanks.