diff mbox series

irdma: Add ice and irdma to kernel-boot rules

Message ID 20210806175808.1463-1-tatyana.e.nikolova@intel.com (mailing list archive)
State Superseded
Headers show
Series irdma: Add ice and irdma to kernel-boot rules | expand

Commit Message

Nikolova, Tatyana E Aug. 6, 2021, 5:58 p.m. UTC
Add ice and irdma to kernel-boot rules so that
these devices are recognized as iWARP and RoCE capable.

Otherwise the port mapper service which is only relevant
for iWARP devices may not start automatically after boot.

Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
---
 kernel-boot/rdma-description.rules | 2 ++
 kernel-boot/rdma-hw-modules.rules  | 1 +
 2 files changed, 3 insertions(+)

Comments

Jason Gunthorpe Aug. 6, 2021, 6:28 p.m. UTC | #1
On Fri, Aug 06, 2021 at 12:58:08PM -0500, Tatyana Nikolova wrote:
> Add ice and irdma to kernel-boot rules so that
> these devices are recognized as iWARP and RoCE capable.
> 
> Otherwise the port mapper service which is only relevant
> for iWARP devices may not start automatically after boot.
> 
> Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
>  kernel-boot/rdma-description.rules | 2 ++
>  kernel-boot/rdma-hw-modules.rules  | 1 +
>  2 files changed, 3 insertions(+)
> 
> diff --git a/kernel-boot/rdma-description.rules b/kernel-boot/rdma-description.rules
> index 48a7ced..f2f7b38 100644
> +++ b/kernel-boot/rdma-description.rules
> @@ -24,11 +24,13 @@ DRIVERS=="hfi1", ENV{ID_RDMA_OPA}="1"
>  # Hardware that supports iWarp
>  DRIVERS=="cxgb4", ENV{ID_RDMA_IWARP}="1"
>  DRIVERS=="i40e", ENV{ID_RDMA_IWARP}="1"
> +DRIVERS=="ice", ENV{ID_RDMA_IWARP}="1"
>  
>  # Hardware that supports RoCE
>  DRIVERS=="be2net", ENV{ID_RDMA_ROCE}="1"
>  DRIVERS=="bnxt_en", ENV{ID_RDMA_ROCE}="1"
>  DRIVERS=="hns", ENV{ID_RDMA_ROCE}="1"
> +DRIVERS=="ice", ENV{ID_RDMA_ROCE}="1"
>  DRIVERS=="mlx4_core", ENV{ID_RDMA_ROCE}="1"
>  DRIVERS=="mlx5_core", ENV{ID_RDMA_ROCE}="1"
>  DRIVERS=="qede", ENV{ID_RDMA_ROCE}="1"
> diff --git a/kernel-boot/rdma-hw-modules.rules b/kernel-boot/rdma-hw-modules.rules
> index 95eaf72..040deb3 100644
> +++ b/kernel-boot/rdma-hw-modules.rules
> @@ -12,6 +12,7 @@ ENV{ID_NET_DRIVER}=="bnxt_en", RUN{builtin}+="kmod load bnxt_re"
>  ENV{ID_NET_DRIVER}=="cxgb4", RUN{builtin}+="kmod load iw_cxgb4"
>  ENV{ID_NET_DRIVER}=="hns", RUN{builtin}+="kmod load hns_roce"
>  ENV{ID_NET_DRIVER}=="i40e", RUN{builtin}+="kmod load i40iw"
> +ENV{ID_NET_DRIVER}=="ice", RUN{builtin}+="kmod load irdma"

This should not be needed, right? The auxbux stuff triggers
proper module autoloading?

Jason
Nikolova, Tatyana E Aug. 12, 2021, 11:33 p.m. UTC | #2
> -----Original Message-----
> From: Jason Gunthorpe <jgg@nvidia.com>
> Sent: Friday, August 6, 2021 1:29 PM
> To: Nikolova, Tatyana E <tatyana.e.nikolova@intel.com>
> Cc: dledford@redhat.com; leon@kernel.org; linux-rdma@vger.kernel.org
> Subject: Re: [PATCH] irdma: Add ice and irdma to kernel-boot rules
> 
> On Fri, Aug 06, 2021 at 12:58:08PM -0500, Tatyana Nikolova wrote:
> > Add ice and irdma to kernel-boot rules so that these devices are
> > recognized as iWARP and RoCE capable.
> >
> > Otherwise the port mapper service which is only relevant for iWARP
> > devices may not start automatically after boot.
> >
> > Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
> > kernel-boot/rdma-description.rules | 2 ++
> > kernel-boot/rdma-hw-modules.rules  | 1 +
> >  2 files changed, 3 insertions(+)
> >
> > diff --git a/kernel-boot/rdma-description.rules
> > b/kernel-boot/rdma-description.rules
> > index 48a7ced..f2f7b38 100644
> > +++ b/kernel-boot/rdma-description.rules
> > @@ -24,11 +24,13 @@ DRIVERS=="hfi1", ENV{ID_RDMA_OPA}="1"
> >  # Hardware that supports iWarp
> >  DRIVERS=="cxgb4", ENV{ID_RDMA_IWARP}="1"
> >  DRIVERS=="i40e", ENV{ID_RDMA_IWARP}="1"
> > +DRIVERS=="ice", ENV{ID_RDMA_IWARP}="1"
> >
> >  # Hardware that supports RoCE
> >  DRIVERS=="be2net", ENV{ID_RDMA_ROCE}="1"
> >  DRIVERS=="bnxt_en", ENV{ID_RDMA_ROCE}="1"
> >  DRIVERS=="hns", ENV{ID_RDMA_ROCE}="1"
> > +DRIVERS=="ice", ENV{ID_RDMA_ROCE}="1"
> >  DRIVERS=="mlx4_core", ENV{ID_RDMA_ROCE}="1"
> >  DRIVERS=="mlx5_core", ENV{ID_RDMA_ROCE}="1"
> >  DRIVERS=="qede", ENV{ID_RDMA_ROCE}="1"
> > diff --git a/kernel-boot/rdma-hw-modules.rules
> > b/kernel-boot/rdma-hw-modules.rules
> > index 95eaf72..040deb3 100644
> > +++ b/kernel-boot/rdma-hw-modules.rules
> > @@ -12,6 +12,7 @@ ENV{ID_NET_DRIVER}=="bnxt_en",
> RUN{builtin}+="kmod load bnxt_re"
> >  ENV{ID_NET_DRIVER}=="cxgb4", RUN{builtin}+="kmod load iw_cxgb4"
> >  ENV{ID_NET_DRIVER}=="hns", RUN{builtin}+="kmod load hns_roce"
> >  ENV{ID_NET_DRIVER}=="i40e", RUN{builtin}+="kmod load i40iw"
> > +ENV{ID_NET_DRIVER}=="ice", RUN{builtin}+="kmod load irdma"
> 
> This should not be needed, right? The auxbux stuff triggers proper module
> autoloading?

Hi Jason,

Our module depends on the auxbus, but we don't know how the auxbus could trigger loading of irdma. Could you please explain? 
 
Thank you,
Tatyana
Jason Gunthorpe Aug. 18, 2021, 4:45 p.m. UTC | #3
On Thu, Aug 12, 2021 at 11:33:04PM +0000, Nikolova, Tatyana E wrote:
> > > @@ -12,6 +12,7 @@ ENV{ID_NET_DRIVER}=="bnxt_en",
> > RUN{builtin}+="kmod load bnxt_re"
> > >  ENV{ID_NET_DRIVER}=="cxgb4", RUN{builtin}+="kmod load iw_cxgb4"
> > >  ENV{ID_NET_DRIVER}=="hns", RUN{builtin}+="kmod load hns_roce"
> > >  ENV{ID_NET_DRIVER}=="i40e", RUN{builtin}+="kmod load i40iw"
> > > +ENV{ID_NET_DRIVER}=="ice", RUN{builtin}+="kmod load irdma"
> > 
> > This should not be needed, right? The auxbux stuff triggers proper module
> > autoloading?
> 
> Hi Jason,
> 
> Our module depends on the auxbus, but we don't know how the auxbus
> could trigger loading of irdma. Could you please explain?

It should simply happen automatically once the aux device is
created. If it doesn't something is missing in the kernel.

It works the same way as any loading a module for any other struct
device, the aux device exposes a modalias and the userspace matches it
to the modules.alias file and then loads the specified module.

Jason
Nikolova, Tatyana E Aug. 20, 2021, 9:46 p.m. UTC | #4
> -----Original Message-----
> From: Jason Gunthorpe <jgg@nvidia.com>
> Sent: Wednesday, August 18, 2021 11:46 AM
> To: Nikolova, Tatyana E <tatyana.e.nikolova@intel.com>
> Cc: dledford@redhat.com; leon@kernel.org; linux-rdma@vger.kernel.org
> Subject: Re: [PATCH] irdma: Add ice and irdma to kernel-boot rules
> 
> On Thu, Aug 12, 2021 at 11:33:04PM +0000, Nikolova, Tatyana E wrote:
> > > > @@ -12,6 +12,7 @@ ENV{ID_NET_DRIVER}=="bnxt_en",
> > > RUN{builtin}+="kmod load bnxt_re"
> > > >  ENV{ID_NET_DRIVER}=="cxgb4", RUN{builtin}+="kmod load iw_cxgb4"
> > > >  ENV{ID_NET_DRIVER}=="hns", RUN{builtin}+="kmod load hns_roce"
> > > >  ENV{ID_NET_DRIVER}=="i40e", RUN{builtin}+="kmod load i40iw"
> > > > +ENV{ID_NET_DRIVER}=="ice", RUN{builtin}+="kmod load irdma"
> > >
> > > This should not be needed, right? The auxbux stuff triggers proper
> > > module autoloading?
> >
> > Hi Jason,
> >
> > Our module depends on the auxbus, but we don't know how the auxbus
> > could trigger loading of irdma. Could you please explain?
> 
> It should simply happen automatically once the aux device is created. If it
> doesn't something is missing in the kernel.
> 
> It works the same way as any loading a module for any other struct device,
> the aux device exposes a modalias and the userspace matches it to the
> modules.alias file and then loads the specified module.

Thank you for the explanation. The modalias is exposed by the aux device as you described.

Tatyana
diff mbox series

Patch

diff --git a/kernel-boot/rdma-description.rules b/kernel-boot/rdma-description.rules
index 48a7ced..f2f7b38 100644
--- a/kernel-boot/rdma-description.rules
+++ b/kernel-boot/rdma-description.rules
@@ -24,11 +24,13 @@  DRIVERS=="hfi1", ENV{ID_RDMA_OPA}="1"
 # Hardware that supports iWarp
 DRIVERS=="cxgb4", ENV{ID_RDMA_IWARP}="1"
 DRIVERS=="i40e", ENV{ID_RDMA_IWARP}="1"
+DRIVERS=="ice", ENV{ID_RDMA_IWARP}="1"
 
 # Hardware that supports RoCE
 DRIVERS=="be2net", ENV{ID_RDMA_ROCE}="1"
 DRIVERS=="bnxt_en", ENV{ID_RDMA_ROCE}="1"
 DRIVERS=="hns", ENV{ID_RDMA_ROCE}="1"
+DRIVERS=="ice", ENV{ID_RDMA_ROCE}="1"
 DRIVERS=="mlx4_core", ENV{ID_RDMA_ROCE}="1"
 DRIVERS=="mlx5_core", ENV{ID_RDMA_ROCE}="1"
 DRIVERS=="qede", ENV{ID_RDMA_ROCE}="1"
diff --git a/kernel-boot/rdma-hw-modules.rules b/kernel-boot/rdma-hw-modules.rules
index 95eaf72..040deb3 100644
--- a/kernel-boot/rdma-hw-modules.rules
+++ b/kernel-boot/rdma-hw-modules.rules
@@ -12,6 +12,7 @@  ENV{ID_NET_DRIVER}=="bnxt_en", RUN{builtin}+="kmod load bnxt_re"
 ENV{ID_NET_DRIVER}=="cxgb4", RUN{builtin}+="kmod load iw_cxgb4"
 ENV{ID_NET_DRIVER}=="hns", RUN{builtin}+="kmod load hns_roce"
 ENV{ID_NET_DRIVER}=="i40e", RUN{builtin}+="kmod load i40iw"
+ENV{ID_NET_DRIVER}=="ice", RUN{builtin}+="kmod load irdma"
 ENV{ID_NET_DRIVER}=="mlx4_en", RUN{builtin}+="kmod load mlx4_ib"
 ENV{ID_NET_DRIVER}=="mlx5_core", RUN{builtin}+="kmod load mlx5_ib"
 ENV{ID_NET_DRIVER}=="qede", RUN{builtin}+="kmod load qedr"