From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1947190AbcHRNWs convert rfc822-to-8bit (ORCPT ); Thu, 18 Aug 2016 09:22:48 -0400 Received: from shelob.surriel.com ([74.92.59.67]:57615 "EHLO shelob.surriel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1945968AbcHRNWp (ORCPT ); Thu, 18 Aug 2016 09:22:45 -0400 Message-ID: <1471526527.2581.2.camel@surriel.com> Subject: Re: [PATCH v2 2/2] fs: super.c: Add tracepoint to get name of superblock shrinker From: Rik van Riel To: Al Viro , Janani Ravichandran Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, vdavydov@virtuozzo.com, mhocko@suse.com, vbabka@suse.cz, mgorman@techsingularity.net, kirill.shutemov@linux.intel.com, bywxiaobai@163.com Date: Thu, 18 Aug 2016 09:22:07 -0400 In-Reply-To: <20160818063239.GO2356@ZenIV.linux.org.uk> References: <600943d0701ae15596c36194684453fef9ee075e.1471496833.git.janani.rvchndrn@gmail.com> <20160818063239.GO2356@ZenIV.linux.org.uk> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.3 (3.20.3-1.fc24) Mime-Version: 1.0 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2016-08-18 at 07:32 +0100, Al Viro wrote: > On Thu, Aug 18, 2016 at 02:09:31AM -0400, Janani Ravichandran wrote: > > >  static LIST_HEAD(super_blocks); > > @@ -64,6 +65,7 @@ static unsigned long super_cache_scan(struct > > shrinker *shrink, > >   long inodes; > >   > >   sb = container_of(shrink, struct super_block, s_shrink); > > + trace_mm_shrinker_callback(shrink, sb->s_type->name); > > IOW, we are (should that patch be accepted) obliged to keep the > function in > question and the guts of struct shrinker indefinitely. > > NAK.  Keep your debugging patches in your tree and maintain them > yourself. > And if a change in the kernel data structures breaks them (and your > userland > code relying on those), it's your problem. > > Tracepoints are very nice for local debugging/data collection/etc. > patches. > The issue is that production systems often need debugging, and when there are performance issues we need some way to gather all the necessary info, without rebooting the production system into a special debug kernel. This is not an ABI that userspace can rely on, and should not be considered as such. Any performance tracing/debugging scripts can be easily changed to match the kernel running on the system in question.