From patchwork Tue Aug 1 00:13:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 13335616 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 17CA5C001DF for ; Tue, 1 Aug 2023 00:14:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229993AbjHAAOl (ORCPT ); Mon, 31 Jul 2023 20:14:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33814 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229454AbjHAAOk (ORCPT ); Mon, 31 Jul 2023 20:14:40 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B4C5E173E; Mon, 31 Jul 2023 17:14:39 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 030156134A; Tue, 1 Aug 2023 00:14:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 60F48C433C8; Tue, 1 Aug 2023 00:14:38 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.96) (envelope-from ) id 1qQd24-003g8f-2n; Mon, 31 Jul 2023 20:14:36 -0400 Message-ID: <20230801001349.520930329@goodmis.org> User-Agent: quilt/0.66 Date: Mon, 31 Jul 2023 20:13:49 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Andrew Morton , Ajay Kaher , chinglinyu@google.com, lkp@intel.com, namit@vmware.com, oe-lkp@lists.linux.dev, amakhalov@vmware.com, er.ajay.kaher@gmail.com, srivatsa@csail.mit.edu, tkundu@vmware.com, vsirnapalli@vmware.com Subject: [PATCH 0/2] tracing: Remove eventfs_files by use of callbacks Precedence: bulk List-ID: X-Mailing-List: linux-trace-kernel@vger.kernel.org This patch set is on top of: https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git/ trace/core The first patch adds a file to tracefs that shows all the event_files that have been allocated for the dynamic eventfs file system. It also shows the dentries that were created and their current ref counts. This is useful for debugging and knowing when a dentry has been created and freed. I plan on adding the first patch to the next merge window. The second patch I plan on adding to the merge window after that. The second patch is a bit of a redesign of the way the eventfs is created. It no longer creates a descriptor representing every file but instead just the directories. These descriptors get an array of entries that represent the files within it (but not for sub directories). Each entry has a name and a callback, where the name is the name of the file (used for lookup) and a callback that is used to create the dentry and inode for the file. This saves more memory, this approach may be possible to create a dynamic way of doing this for other pseudo file systems. Steven Rostedt (Google) (2): tracefs: Add show_events_dentries eventfs: Remove eventfs_file and just use eventfs_inode ---- fs/tracefs/Makefile | 1 + fs/tracefs/event_inode.c | 781 ++++++++++++++++++++++--------------------- fs/tracefs/event_show.c | 125 +++++++ fs/tracefs/inode.c | 2 +- fs/tracefs/internal.h | 34 +- include/linux/trace_events.h | 2 +- include/linux/tracefs.h | 31 +- kernel/trace/trace.h | 4 +- kernel/trace/trace_events.c | 309 ++++++++++++----- 9 files changed, 795 insertions(+), 494 deletions(-) create mode 100644 fs/tracefs/event_show.c