From: Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: Greg Kroah-Hartman
<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>
Cc: "linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
Al Viro <viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH 1/2] debugfs: Allow debugfs_create_dir() to take data
Date: Thu, 9 Aug 2012 15:56:24 +0300 [thread overview]
Message-ID: <20120809155624.b781edae9efa7c51faf6c31c@nvidia.com> (raw)
In-Reply-To: <20120808133427.GA14417-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
Hi Greg, Felipe,
On Wed, 8 Aug 2012 15:34:27 +0200
Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote:
> On Wed, Aug 08, 2012 at 09:24:32AM +0300, Hiroshi Doyu wrote:
> > Add __debugfs_create_dir(), which takes data passed from caller.
>
> Why?
>
> > Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com>
> > ---
> > fs/debugfs/inode.c | 7 ++++---
> > include/linux/debugfs.h | 9 ++++++++-
> > 2 files changed, 12 insertions(+), 4 deletions(-)
.....
> What are you trying to do here? This patch doesn't look right at all.
I missed to send the cover letter of this patch series to LKML, which
explained the background. I attached that cover letter below. Please
read the following explanation too.
The point was that, since directory hierarchy itself already has
the necessary info, like parent <- child relationships, among each
entities(here, smmu?, mc?, cache{tlb,ptc}), I just wanted to avoid to
have those *residual* info embedded in normal data hierarchy, because
cache{tlb,ptc} is used only in debugfs, not in the normal path. With
directory/file hierarchy, we could get necessary data at any time
on-the-fly.
OTOH, if debugfs has the assumption that it has to be always projected
from the existing data hierarchy, I should fix to have the same
hierarchy in entities(here, smmu?, mc?, cache{tlb,ptc}), as Felipe
pointed out in another thread.
It might not be so bad that debugfs has the ability to manage its own
hierarchy with i_private, apart from the original data hierarchy
too. In our case, cache{tlb,ptc} data is used only for debugfs. They
don't have to be in the normal data hierarchy. This depends on the
above assumption, does debugfs have to be always projected from the
normal data hierarchy?
The original tegra smmu debugfs patch is:
http://lists.linuxfoundation.org/pipermail/iommu/2012-August/004507.html
Here's the original missed cover letter:
Subject:[RFC][PATCH 0/2] debugfs: Allow debugfs_create_dir() to take data from caller
From: Hiroshi Doyu <hdoyu@nvidia.com>
To: Hiroshi Doyu <hdoyu@nvidia.com>
CC: "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>,
"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>, Al Viro <viro@zeniv.linux.org.uk>
Date: Wed, 8 Aug 2012 08:24:31 +0200
Thread-Index: Ac11LoTHb+fK/MOMRX2RFTvtP89jeg==
Accept-Language: en-US, en-CA, fi-FI
The commit c3b1a35 "debugfs: make sure that debugfs_create_file() gets
used only for regulars" doesn't allow to use debugfs_create_file() for
creating directory, and the current debugfs_create_dir() cannot take
the private data from caller. There are some cases that we want to pass some
client data to dir, especially when dir is nested deeply. We can work
around to pass all necessary data with some invented data structure to
the end files, but if directory itself had private data, we could
avoid to introduce new structures just to pass data to end files.
For example, tegra iommu(smmu) case, debugfs structure could be as
below.
sys/
└── kernel
└── debug
├── smmu.0
│ ├── mc
│ │ ├── ptc
│ │ └── tlb
│ └── mc0
│ ├── ptc
│ └── tlb
└── smmu.1
├── mc
│ ├── ptc
│ └── tlb
├── mc0
│ ├── ptc
│ └── tlb
└── mc1
├── ptc
└── tlb
The end files, {ptc,tlb} depend on which mc? to belong to, and
which smmu.? to belong to. The parent data can be accessed from those
end files if necessary.
dent = d_find_alias(s->private);
cache = (int)dent->d_inode->i_private;
mc = (int)dent->d_parent->d_inode->i_private;
smmu = dent->d_parent->d_parent->d_inode->i_private;
The original tegra smmu debugfs patch is:
http://lists.linuxfoundation.org/pipermail/iommu/2012-August/004507.html
Hiroshi Doyu (2):
debugfs: Allow debugfs_create_dir() to take data
iommu/tegra: smmu: Use __debugfs_create_dir
drivers/iommu/tegra-smmu.c | 4 +---
fs/debugfs/inode.c | 7 ++++---
include/linux/debugfs.h | 9 ++++++++-
3 files changed, 13 insertions(+), 7 deletions(-)
--
1.7.5.4
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
next prev parent reply other threads:[~2012-08-09 12:56 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-08 6:24 =?y?q?=5BRFC=5D=5BPATCH=200/2=5D=20debugfs=3A=20Allow=20debugfs=5Fcreate=5Fdir=28=29=20to=20take=20data=20from=20caller?= Hiroshi Doyu
[not found] ` <1344407073-12030-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-08-08 6:24 ` [PATCH 1/2] debugfs: Allow debugfs_create_dir() to take data Hiroshi Doyu
[not found] ` <1344407073-12030-2-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-08-08 13:34 ` Greg Kroah-Hartman
[not found] ` <20120808133427.GA14417-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2012-08-09 12:56 ` Hiroshi Doyu [this message]
[not found] ` <20120809155624.b781edae9efa7c51faf6c31c-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-08-15 5:40 ` Hiroshi Doyu
[not found] ` <20120815084008.3d8f4ac20af5dc3372cd7681-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-08-15 13:40 ` Greg Kroah-Hartman
2012-08-15 5:47 ` [v2 1/1] iommu/tegra: smmu: Use debugfs_create_dir for directory Hiroshi Doyu
[not found] ` <1345009652-13408-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-08-15 16:13 ` Stephen Warren
[not found] ` <502BCA9E.5090206-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-09-04 6:51 ` Hiroshi Doyu
[not found] ` <20120904.095134.292349834288373260.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-09-10 18:24 ` Stephen Warren
[not found] ` <504E3046.9080103-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-09-17 16:28 ` joerg.roedel-5C7GfCeVMHo
2012-08-08 6:24 ` [PATCH 2/2] iommu/tegra: smmu: Use __debugfs_create_dir Hiroshi Doyu
[not found] ` <1344407073-12030-3-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-08-08 15:11 ` Felipe Balbi
[not found] ` <20120808151128.GC9091-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-08-08 15:31 ` Felipe Balbi
[not found] ` <20120808153100.GE9091-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-08-15 6:34 ` Hiroshi Doyu
[not found] ` <20120815093421.c08fdbbf4d7ce6c3986861f2-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-08-15 7:07 ` Felipe Balbi
2012-08-08 6:28 ` [RFC][PATCH 0/2] debugfs: Allow debugfs_create_dir() to take data from caller Hiroshi Doyu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120809155624.b781edae9efa7c51faf6c31c@nvidia.com \
--to=hdoyu-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
--cc=balbi-l0cyMroinI0@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).