Received: by 10.223.176.46 with SMTP id f43csp2205496wra; Sun, 21 Jan 2018 14:02:26 -0800 (PST) X-Google-Smtp-Source: AH8x226pWGlGtK+Z9JPZGHVENkf4RiqmujFgqGl0hbdM68XlIjOx1xYOUlcACHrAByrY6zCpXYSu X-Received: by 2002:a17:902:b2cb:: with SMTP id x11-v6mr2308377plw.298.1516572146113; Sun, 21 Jan 2018 14:02:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516572146; cv=none; d=google.com; s=arc-20160816; b=xVs2o5wyDZF77IlefZFsPN0gUbO50ehqNEMC/sDfPRPU1q/P6COw8fY0Ru9iDLFGOr vm4UNQ+iBt3l3ItTNr5QLlDKvhIRX6MBIvC+TsdvWcmHlO0Xy8AMGaP/4LtLDAkYykhQ c57pc+hvKM1TgHwz6fTjqpC8IfjDeMjlh3UNBQGGqu2xwOv8ULaaXouhhMV6DhmMc5HR d2RYKyIOJ1Z7fy7/m0ZU99it0O/7iKkVToZfXxVckjpjDigVSiRB2qAM53ysTifXhHrw ttn97MF+oFi8ekPhnxhcw/0hyUtmrlEwPyfab8NxbuDGjM9DpDBw4M8TUI8Hj4S3PLf5 Jrzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dmarc-filter:arc-authentication-results; bh=JJtdSPvaKdFjZrrncJY0BKB9QX+Y68MDElhYeQ52oS0=; b=Ghia8tKGCanS/2Pf+Hl2Zgr+YSEW6w+cohvJaWgv+a2NKILvdCbtUBBb9ntlSjBtzS txDqpKIjslVGAfrmvsvmarL77N/HAtd/tX9BA2yYrwxN+f70iLh17+7L/W2gKQ0R0Jpy VZmMw6fT/dOKNNxKQxxUWDvIGabJQTH06mT/ZRvXhfz/bHAt5wfZuyOKNRiJN3lJWfMS 4bW9IzRAQjhx9+AvUStQQXew1B4CPckXbsHva9C9OMVQ1TJBHVG/e0upQXNCAcJF9SMy Fd7XDShL6JIhW+FXeYgT6vbNeksDKgTauNYpn8R3v7tsV3jFNRViqO0s6IImsCYmD0O9 1Rug== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l64si14040546pfi.388.2018.01.21.14.02.11; Sun, 21 Jan 2018 14:02:26 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751098AbeAUWBp convert rfc822-to-8bit (ORCPT + 99 others); Sun, 21 Jan 2018 17:01:45 -0500 Received: from mail.kernel.org ([198.145.29.99]:34220 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750948AbeAUWBn (ORCPT ); Sun, 21 Jan 2018 17:01:43 -0500 Received: from gandalf.local.home (cpe-172-100-180-131.stny.res.rr.com [172.100.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 2E6DE214E1; Sun, 21 Jan 2018 22:01:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2E6DE214E1 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=goodmis.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=rostedt@goodmis.org Date: Sun, 21 Jan 2018 17:01:40 -0500 From: Steven Rostedt To: Wolfram Sang Cc: devicetree@vger.kernel.org, Tyrel Datwyler , Geert Uytterhoeven , linux-renesas-soc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Rob Herring , Frank Rowand , linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH v2 1/1] of: introduce event tracepoints for dynamic device_node lifecyle Message-ID: <20180121170140.23d1ff12@gandalf.local.home> In-Reply-To: <20180121143117.19805-2-wsa+renesas@sang-engineering.com> References: <20180121143117.19805-1-wsa+renesas@sang-engineering.com> <20180121143117.19805-2-wsa+renesas@sang-engineering.com> X-Mailer: Claws Mail 3.14.0 (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 21 Jan 2018 15:31:17 +0100 Wolfram Sang wrote: > From: Tyrel Datwyler > > This patch introduces event tracepoints for tracking a device_nodes > reference cycle as well as reconfig notifications generated in response > to node/property manipulations. > > With the recent upstreaming of the refcount API several device_node > underflows and leaks have come to my attention in the pseries (DLPAR) > dynamic logical partitioning code (ie. POWER speak for hotplugging > virtual and physcial resources at runtime such as cpus or IOAs). These > tracepoints provide a easy and quick mechanism for validating the > reference counting of device_nodes during their lifetime. > > Further, when pseries lpars are migrated to a different machine we > perform a live update of our device tree to bring it into alignment with > the configuration of the new machine. The of_reconfig_notify trace point > provides a mechanism that can be turned for debuging the device tree > modifications with out having to build a custom kernel to get at the > DEBUG code introduced by commit 00aa37206e1a54 ("of/reconfig: Add debug > output for OF_RECONFIG notifiers"). > > The following trace events are provided: of_node_get, of_node_put, > of_node_release, and of_reconfig_notify. These trace points require a > kernel built with ftrace support to be enabled. In a typical environment > where debugfs is mounted at /sys/kernel/debug the entire set of > tracepoints can be set with the following: > > echo "of:*" > /sys/kernel/debug/tracing/set_event > > or > > echo 1 > /sys/kernel/debug/tracing/events/of/enable > > The following shows the trace point data from a DLPAR remove of a cpu > from a pseries lpar: > > cat /sys/kernel/debug/tracing/trace | grep "POWER8@10" > > cpuhp/23-147 [023] .... 128.324827: > of_node_put: refcount=5, dn->full_name=/cpus/PowerPC,POWER8@10 > cpuhp/23-147 [023] .... 128.324829: > of_node_put: refcount=4, dn->full_name=/cpus/PowerPC,POWER8@10 > cpuhp/23-147 [023] .... 128.324829: > of_node_put: refcount=3, dn->full_name=/cpus/PowerPC,POWER8@10 > cpuhp/23-147 [023] .... 128.324831: > of_node_put: refcount=2, dn->full_name=/cpus/PowerPC,POWER8@10 > drmgr-7284 [009] .... 128.439000: > of_node_put: refcount=1, dn->full_name=/cpus/PowerPC,POWER8@10 > drmgr-7284 [009] .... 128.439002: > of_reconfig_notify: action=DETACH_NODE, dn->full_name=/cpus/PowerPC,POWER8@10, > prop->name=null, old_prop->name=null > drmgr-7284 [009] .... 128.439015: > of_node_put: refcount=0, dn->full_name=/cpus/PowerPC,POWER8@10 > drmgr-7284 [009] .... 128.439016: > of_node_release: dn->full_name=/cpus/PowerPC,POWER8@10, dn->_flags=4 > > Signed-off-by: Tyrel Datwyler > [wsa: fixed commit abbrev and one of the sysfs paths in commit desc, > removed trailing space and fixed pointer declaration in code] > Signed-off-by: Wolfram Sang From the tracing perspective: Reviewed-by: Steven Rostedt (VMware) -- Steve > ---