Message ID | 20170630154412.3575760-1-arnd@arndb.de (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
> -----Original Message----- > From: Arnd Bergmann [mailto:arnd@arndb.de] > Subject: [PATCH] [net-next] net/mlx5: include wq.o in non-ethernet build > for FPGA > > Both the ethernet and FPGA portions of MLX5 now require the wq functions, > and we get a link error when CONFIG_MLX5_CORE_EN is disabled: > > drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.o: In function > `mlx5_fpga_conn_create_cq': > conn.c:(.text+0x10b3): undefined reference to `mlx5_cqwq_create' > conn.c:(.text+0x10c6): undefined reference to `mlx5_cqwq_get_size' > conn.c:(.text+0x12bc): undefined reference to `mlx5_cqwq_destroy' > > This includes the library in the core driver also when only the fpga > support is enabled. > > Fixes: 537a50574175 ("net/mlx5: FPGA, Add high-speed connection routines") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/net/ethernet/mellanox/mlx5/core/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/Makefile > b/drivers/net/ethernet/mellanox/mlx5/core/Makefile > index ca367445f864..50fe9e3c5dc2 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/Makefile > +++ b/drivers/net/ethernet/mellanox/mlx5/core/Makefile > @@ -9,7 +9,7 @@ mlx5_core-y := main.o cmd.o debugfs.o fw.o eq.o uar.o > pagealloc.o \ > mlx5_core-$(CONFIG_MLX5_ACCEL) += accel/ipsec.o > > mlx5_core-$(CONFIG_MLX5_FPGA) += fpga/cmd.o fpga/core.o fpga/conn.o > fpga/sdk.o \ > - fpga/ipsec.o > + fpga/ipsec.o wq.o I believe we would prefer to move wq.o to mlx5_core-y. Otherwise you might build it twice. > > mlx5_core-$(CONFIG_MLX5_CORE_EN) += wq.o eswitch.o eswitch_offloads.o \ > en_main.o en_common.o en_fs.o en_ethtool.o en_tx.o \ > -- > 2.9.0
On Fri, Jun 30, 2017 at 8:58 PM, Ilan Tayari <ilant@mellanox.com> wrote: >> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/Makefile >> b/drivers/net/ethernet/mellanox/mlx5/core/Makefile >> index ca367445f864..50fe9e3c5dc2 100644 >> --- a/drivers/net/ethernet/mellanox/mlx5/core/Makefile >> +++ b/drivers/net/ethernet/mellanox/mlx5/core/Makefile >> @@ -9,7 +9,7 @@ mlx5_core-y := main.o cmd.o debugfs.o fw.o eq.o uar.o >> pagealloc.o \ >> mlx5_core-$(CONFIG_MLX5_ACCEL) += accel/ipsec.o >> >> mlx5_core-$(CONFIG_MLX5_FPGA) += fpga/cmd.o fpga/core.o fpga/conn.o >> fpga/sdk.o \ >> - fpga/ipsec.o >> + fpga/ipsec.o wq.o > > I believe we would prefer to move wq.o to mlx5_core-y. > Otherwise you might build it twice. That's not a problem, Kbuild is smart enough to drop duplicate object files that get built into the same module. If you think it's less confusing to readers of this file if it gets put into core, that's fine though, the only downside would be adding a little bit of code bloat for users that want neither the ethernet nor the fpga code (if that is a realistic use case). Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Jun 30, 2017 at 10:25 PM, Arnd Bergmann <arnd@arndb.de> wrote: > On Fri, Jun 30, 2017 at 8:58 PM, Ilan Tayari <ilant@mellanox.com> wrote: > >>> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/Makefile >>> b/drivers/net/ethernet/mellanox/mlx5/core/Makefile >>> index ca367445f864..50fe9e3c5dc2 100644 >>> --- a/drivers/net/ethernet/mellanox/mlx5/core/Makefile >>> +++ b/drivers/net/ethernet/mellanox/mlx5/core/Makefile >>> @@ -9,7 +9,7 @@ mlx5_core-y := main.o cmd.o debugfs.o fw.o eq.o uar.o >>> pagealloc.o \ >>> mlx5_core-$(CONFIG_MLX5_ACCEL) += accel/ipsec.o >>> >>> mlx5_core-$(CONFIG_MLX5_FPGA) += fpga/cmd.o fpga/core.o fpga/conn.o >>> fpga/sdk.o \ >>> - fpga/ipsec.o >>> + fpga/ipsec.o wq.o >> >> I believe we would prefer to move wq.o to mlx5_core-y. >> Otherwise you might build it twice. > > That's not a problem, Kbuild is smart enough to drop duplicate object files > that get built into the same module. > > If you think it's less confusing to readers of this file if it gets > put into core, > that's fine though, the only downside would be adding a little bit of > code bloat for users that want neither the ethernet nor the fpga code > (if that is a realistic use case). Hi Arnd, Thanks for the patch, your solution is good enough, but let's avoid confusing developers with such duplications. since the Makefile might get messy if we will keep using this method. I suggest to move wq.o to core or make MLX5_FPGA depend on MLX5_CORE_EN. I will discuss this with Ilan and we will provide the fix ASAP. Thanks, Saeed. > > Arnd > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sun, Jul 2, 2017 at 10:45 AM, Saeed Mahameed <saeedm@dev.mellanox.co.il> wrote: > On Fri, Jun 30, 2017 at 10:25 PM, Arnd Bergmann <arnd@arndb.de> wrote: >> On Fri, Jun 30, 2017 at 8:58 PM, Ilan Tayari <ilant@mellanox.com> wrote: >> >>>> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/Makefile >>>> b/drivers/net/ethernet/mellanox/mlx5/core/Makefile >>>> index ca367445f864..50fe9e3c5dc2 100644 >>>> --- a/drivers/net/ethernet/mellanox/mlx5/core/Makefile >>>> +++ b/drivers/net/ethernet/mellanox/mlx5/core/Makefile >>>> @@ -9,7 +9,7 @@ mlx5_core-y := main.o cmd.o debugfs.o fw.o eq.o uar.o >>>> pagealloc.o \ >>>> mlx5_core-$(CONFIG_MLX5_ACCEL) += accel/ipsec.o >>>> >>>> mlx5_core-$(CONFIG_MLX5_FPGA) += fpga/cmd.o fpga/core.o fpga/conn.o >>>> fpga/sdk.o \ >>>> - fpga/ipsec.o >>>> + fpga/ipsec.o wq.o >>> >>> I believe we would prefer to move wq.o to mlx5_core-y. >>> Otherwise you might build it twice. >> >> That's not a problem, Kbuild is smart enough to drop duplicate object files >> that get built into the same module. >> >> If you think it's less confusing to readers of this file if it gets >> put into core, >> that's fine though, the only downside would be adding a little bit of >> code bloat for users that want neither the ethernet nor the fpga code >> (if that is a realistic use case). > > Hi Arnd, > > Thanks for the patch, your solution is good enough, but let's avoid > confusing developers with such duplications. > since the Makefile might get messy if we will keep using this method. > > I suggest to move wq.o to core or make MLX5_FPGA depend on MLX5_CORE_EN. > I will discuss this with Ilan and we will provide the fix ASAP. Ok, sounds good. Thanks! Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/Makefile b/drivers/net/ethernet/mellanox/mlx5/core/Makefile index ca367445f864..50fe9e3c5dc2 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/Makefile +++ b/drivers/net/ethernet/mellanox/mlx5/core/Makefile @@ -9,7 +9,7 @@ mlx5_core-y := main.o cmd.o debugfs.o fw.o eq.o uar.o pagealloc.o \ mlx5_core-$(CONFIG_MLX5_ACCEL) += accel/ipsec.o mlx5_core-$(CONFIG_MLX5_FPGA) += fpga/cmd.o fpga/core.o fpga/conn.o fpga/sdk.o \ - fpga/ipsec.o + fpga/ipsec.o wq.o mlx5_core-$(CONFIG_MLX5_CORE_EN) += wq.o eswitch.o eswitch_offloads.o \ en_main.o en_common.o en_fs.o en_ethtool.o en_tx.o \
Both the ethernet and FPGA portions of MLX5 now require the wq functions, and we get a link error when CONFIG_MLX5_CORE_EN is disabled: drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.o: In function `mlx5_fpga_conn_create_cq': conn.c:(.text+0x10b3): undefined reference to `mlx5_cqwq_create' conn.c:(.text+0x10c6): undefined reference to `mlx5_cqwq_get_size' conn.c:(.text+0x12bc): undefined reference to `mlx5_cqwq_destroy' This includes the library in the core driver also when only the fpga support is enabled. Fixes: 537a50574175 ("net/mlx5: FPGA, Add high-speed connection routines") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/net/ethernet/mellanox/mlx5/core/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)