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 Tue, Dec 18, 2018 at 10:22:36AM -0500, Doug Ledford wrote:
> On Tue, 2018-12-18 at 13:30 +0000, Ruhl, Michael J wrote:
> > Hmm,  taking a little close look at the debugfs.c module for HFI I am wondering if
> > there is some confusion WRT how the HFI driver uses debugfs.
> > 
> > The init function (hfi1_dbg_ibdev_init() occurs after hfi1_ib_register(), with a
> > comment of "create debugfs files after init and ib register".  This uses the 
> > hfi1_ibdev data structure as the "private data" for the debugfs information.
> > 
> > However, the root debufs system is based off of "DRIVER_NAME"  (hfi1), and
> > the actual filenames within that directory is based off of hfi1_class_name (hfi1)
> > and the "port" value.

Well, it is 'unit' and unit comes from an internal global IDR and is
thus guaranteed globally unique.

> > For each HFI we will increment port, so for two instance of the driver, there will
> > always be a uniquely defined name.
> > 
> > From that perspective, as far as I can tell, the HFI driver is meeting the
> > "globally uniqueness" requirement.
> 
> You are correct.  This satisfies the needs for device rename and can be
> left just as it is.
> 
> The original problem stemmed from drivers using their ib device name
> (such as mlx4_0), which presents a problem on rename in that when the
> first mlx4 device is registered it would be mlx4_0, then udev renames
> the device to <whatever> but the debugfs files are still in a directory
> named mlx4_0, and then you register another mlx4 device, and because
> there is no mlx4_0 any more, the new device gets the name mlx4_0 again,
> and now the creation of the debugfs files for the second mlx4 device
> fail because the name mlx4_0 is already in use.  Your naming scheme
> avoids that problem, and so it is fine just as it is and there is no
> need to break any existing user space or switch to PCI address naming
> schemes.

Yah, I agree, it still breaks userspace in the sense that the hfi_1
debugfs name doesn't correlate to any ibdev name, but it doesn't cause
any kernel level problem.

You should probably still use the PCI name for debugfs and add a
symlink to it from from the unit based name.

Jason




[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