Re: [PATCH rdma-next] RDMA/hfi1: Use PCI-ID as an identification in debugfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 12, 2018 at 03:05:59PM -0500, Dennis Dalessandro wrote:
> On 12/12/2018 2:59 PM, Leon Romanovsky wrote:
> > On Wed, Dec 12, 2018 at 02:02:15PM -0500, Dennis Dalessandro wrote:
> > > On 12/12/2018 1:53 PM, Leon Romanovsky wrote:
> > > > On Wed, Dec 12, 2018 at 01:45:39PM -0500, Dennis Dalessandro wrote:
> > > > > On 12/11/2018 1:27 PM, Leon Romanovsky wrote:
> > > > > > On Tue, Dec 11, 2018 at 12:21:53PM -0500, Dennis Dalessandro wrote:
> > > > > > > On 12/11/2018 8:09 AM, Leon Romanovsky wrote:
> > > > > > > > On Tue, Dec 11, 2018 at 07:03:46AM -0500, Dennis Dalessandro wrote:
> > > > > > > > > On 12/11/2018 6:36 AM, Yuval Shaia wrote:
> > > > > > > > > > On Tue, Dec 11, 2018 at 12:06:30PM +0200, Leon Romanovsky wrote:
> > > > > > > > > > > From: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> > > > > > > > > > >
> > > > > > > > > > > Update hfi1 to use PCI-IDs as an identification in debugfs, instead
> > > > > > > > > > > of device name which can be changed after user executes device rename.
> > > > > > > > > > >
> > > > > > > > > > > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> > > > > > > > > > > ---
> > > > > > > > > > >       drivers/infiniband/hw/hfi1/debugfs.c | 11 ++++++-----
> > > > > > > > > > >       1 file changed, 6 insertions(+), 5 deletions(-)
> > > > > > > > > > >
> > > > > > > > > > > diff --git a/drivers/infiniband/hw/hfi1/debugfs.c b/drivers/infiniband/hw/hfi1/debugfs.c
> > > > > > > > > > > index 0a557795563c..54b579d8ec07 100644
> > > > > > > > > > > --- a/drivers/infiniband/hw/hfi1/debugfs.c
> > > > > > > > > > > +++ b/drivers/infiniband/hw/hfi1/debugfs.c
> > > > > > > > > > > @@ -1166,23 +1166,24 @@ void hfi1_dbg_ibdev_init(struct hfi1_ibdev *ibd)
> > > > > > > > > > >       	char name[sizeof("port0counters") + 1];
> > > > > > > > > > >       	char link[10];
> > > > > > > > > > >       	struct hfi1_devdata *dd = dd_from_dev(ibd);
> > > > > > > > > > > +	struct pci_dev *pdev = dd->pcidev;
> > > > > > > > > > >       	struct hfi1_pportdata *ppd;
> > > > > > > > > > >       	int unit = dd->unit;
> > > > > > > > > > >       	int i, j;
> > > > > > > > > > >
> > > > > > > > > > >       	if (!hfi1_dbg_root)
> > > > > > > > > > >       		return;
> > > > > > > > > > > -	snprintf(name, sizeof(name), "%s_%d", class_name(), unit);
> > > > > > > > > > > +
> > > > > > > > > > >       	snprintf(link, sizeof(link), "%d", unit);
> > > > > > > > > > > -	ibd->hfi1_ibdev_dbg = debugfs_create_dir(name, hfi1_dbg_root);
> > > > > > > > > > > +	ibd->hfi1_ibdev_dbg = debugfs_create_dir(pci_name(pdev), hfi1_dbg_root);
> > > > > > > > > > >       	if (!ibd->hfi1_ibdev_dbg) {
> > > > > > > > > > > -		pr_warn("create of %s failed\n", name);
> > > > > > > > > > > +		pr_warn("create of %s failed\n", pci_name(pdev));
> > > > > > > > > > >       		return;
> > > > > > > > > > >       	}
> > > > > > > > > > >       	ibd->hfi1_ibdev_link =
> > > > > > > > > > > -		debugfs_create_symlink(link, hfi1_dbg_root, name);
> > > > > > > > > > > +		debugfs_create_symlink(link, hfi1_dbg_root, pci_name(pdev));
> > > > > > > > > > >       	if (!ibd->hfi1_ibdev_link) {
> > > > > > > > > > > -		pr_warn("create of %s symlink failed\n", name);
> > > > > > > > > > > +		pr_warn("create of %s symlink failed\n", pci_name(pdev));
> > > > > > > > > > >       		return;
> > > > > > > > > > >       	}
> > > > > > > > > > >       	DEBUGFS_SEQ_FILE_CREATE(opcode_stats, ibd->hfi1_ibdev_dbg, ibd);
> > > > > > > > > >
> > > > > > > > > > Reviewed-by: Yuval Shaia <yuval.shaia@xxxxxxxxxx>
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > Nak for now. This isn't quite what we have in mind. Patch is on the way,
> > > > > > > > > going through review and testing. Will post soon to for-next.
> > > > > > > >
> > > > > > > > Awesome, can you shed the light and summarize why this patch isn't good
> > > > > > > > fit for you?
> > > > > > >
> > > > > > > The patch is very similar, our version, which is part of a bigger series,
> > > > > > > doesn't use local variable and changes the pr_warn() calls to dd_dev_warn().
> > > > > > > I can go ahead and post our version, or you could make a v2 to fix the
> > > > > > > pr_warns, up to you. The local variable vs non isn't a big concern here,
> > > > > > > meaning I'm fine either way.
> > > > > >
> > > > > > I tried to localize and minimize my changes, so it is better to go with
> > > > > > your more comprehensive variant.
> > > > >
> > > > > During review an issue was raised that this impacts a number of user space
> > > > > scripts/tools and there is a desire to not break the existing ABI and
> > > > > instead maintain a separate name space here. Considering device rename
> > > > > applies to the ib verbs device not necessarily what we have in debugfs which
> > > > > applies to the HW.
> > > >
> > > > Dennis,
> > > >
> > > > We had this discussion more than once and the overall agreement was that
> > > > debugfs can't be qualified as ABI and breakage is expected.
> > > >
> > > > So shall I understand from your response that your internal patch won't
> > > > come and we shall proceed with my version?
> > > >
> > >
> > > Which is why I said there is a desire to not break it, rather than a
> > > requirement to not break it. It's under discussion still.
> > >
> > > No we should not proceed with your version, whether our internal patch is
> > > posted or not. Is there a compelling reason why what we do in our debugfs
> > > stuff matters that much when it comes to verbs renaming?
> >
> > Because it is not related to verbs at all, but general core
> > infrastructure change needed for all devices in RDMA subsystem,
> > which are using struct ib_device to hold data.
>
> Core, verbs, whatever. Point is that debugfs is still something different
> and doesn't have to be subject to the same naming scheme.

Everything is different, but it doesn't mean that we should sacrifice
uniformed user experience across whole subsystem.

>
> > Including your hfi1 bug, which can be solved by udev/systemd rule now.
> > https://patchwork.kernel.org/patch/9508879/
>
> Yes, well aware, and do agree. It comes down to what's better for end users,
> that's what we are debating about.

I'm glad to hear.

The other possible solution is to disable device rename for hfi1, because once we
introduce addition to udev/systemd, which will ensure persistent naming (device
renaming will be done on boot), the whole hfi1 debugfs will break badly. So it
is better to fix or to disable now.

Thanks

>
> -Denny
>

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux