RE: [PATCH V4 for-next 1/3] RDMA/hns: Add mtr support for mixed multihop addressing

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

 



> From: linux-rdma-owner@xxxxxxxxxxxxxxx
> [mailto:linux-rdma-owner@xxxxxxxxxxxxxxx] On Behalf Of Jason Gunthorpe
> Sent: Wednesday, June 12, 2019 12:52 PM
> To: John Garry <john.garry@xxxxxxxxxx>
> Cc: Leon Romanovsky <leon@xxxxxxxxxx>; wangxi (M) <wangxi11@xxxxxxxxxx>;
> linux-rdma@xxxxxxxxxxxxxxx; dledford@xxxxxxxxxx; Linuxarm
> <linuxarm@xxxxxxxxxx>
> Subject: Re: [PATCH V4 for-next 1/3] RDMA/hns: Add mtr support for mixed
> multihop addressing
> 
> On Wed, Jun 12, 2019 at 09:51:59AM +0100, John Garry wrote:
> > On 11/06/2019 06:56, Leon Romanovsky wrote:
> > > On Tue, Jun 11, 2019 at 10:37:48AM +0800, wangxi wrote:
> > > >
> > > >
> > > > 在 2019/6/10 21:27, Jason Gunthorpe 写道:
> > > > > On Sat, Jun 08, 2019 at 10:24:15AM +0800, wangxi wrote:
> > > > >
> > > > > > > Why is there an EXPROT_SYMBOL in a IB driver? I see many in
> > > > > > > hns. Please send a patch to remove all of them and respin this.
> > > > > > >
> > > > > > There are 2 modules in our ib driver, one is hns_roce.ko, another
> > > > > > is hns_roce_hw_v2.ko. all extern symbols are named like hns_roce_xxx,
> > > > > > this function defined in hns_roce.ko, and invoked in
> > > > > > hns_roce_hw_v2.ko.

[...]

> > In addition to this, v1 hw is a platform device driver and depends on HNS,
> > while v2 hw is for a PCI device and depends on PCI && HNS3. Attempts to
> > combine into a single ko would introduce messy dependencies and ifdefs.
> 
> I suspect it would not be any different from how it is today. Do
> everything the same, just have one module not three. module_init/etc
> already take care of conditional compilation of the entire .c file via
> Makefile

Okay. I see your point. 

As I understand, the code within v1 and v2 will almost never be required on
the same system since they belong to different types of hardware (platform/PCI).
Dependency between V1, V2 and common code is something like below

         [V1]    [V2]
          |         |
          |_______|
               |
         hns_roce_xxx

Therefore, we could always make V1+[hns_roce_xxx] OR V2+[hns_roce_xxx] as
single module .ko at compile time by making them optional in Makefile.

Salil.






[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