linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] [net-next] net/mlx5: include wq.o in non-ethernet build for FPGA
@ 2017-06-30 15:43 Arnd Bergmann
  2017-06-30 18:58 ` Ilan Tayari
  0 siblings, 1 reply; 5+ messages in thread
From: Arnd Bergmann @ 2017-06-30 15:43 UTC (permalink / raw)
  To: Saeed Mahameed, Matan Barak, Leon Romanovsky
  Cc: Arnd Bergmann, Ilan Tayari, David S. Miller, Boris Pismenny,
	Or Gerlitz, Hadar Hen Zion, Kamal Heib, Maor Gottlieb,
	Mohamad Haj Yahia, Aviv Heller, netdev, linux-rdma, linux-kernel

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
 
 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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* RE: [PATCH] [net-next] net/mlx5: include wq.o in non-ethernet build for FPGA
  2017-06-30 15:43 [PATCH] [net-next] net/mlx5: include wq.o in non-ethernet build for FPGA Arnd Bergmann
@ 2017-06-30 18:58 ` Ilan Tayari
  2017-06-30 19:25   ` Arnd Bergmann
  0 siblings, 1 reply; 5+ messages in thread
From: Ilan Tayari @ 2017-06-30 18:58 UTC (permalink / raw)
  To: Arnd Bergmann, Saeed Mahameed, Matan Barak, Leon Romanovsky
  Cc: David S. Miller, Boris Pismenny, Or Gerlitz, Hadar Hen Zion,
	Kamal Heib, Maor Gottlieb, Mohamad Haj Yahia, Aviv Heller,
	netdev, linux-rdma, linux-kernel

> -----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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] [net-next] net/mlx5: include wq.o in non-ethernet build for FPGA
  2017-06-30 18:58 ` Ilan Tayari
@ 2017-06-30 19:25   ` Arnd Bergmann
  2017-07-02  8:45     ` Saeed Mahameed
  0 siblings, 1 reply; 5+ messages in thread
From: Arnd Bergmann @ 2017-06-30 19:25 UTC (permalink / raw)
  To: Ilan Tayari
  Cc: Saeed Mahameed, Matan Barak, Leon Romanovsky, David S. Miller,
	Boris Pismenny, Or Gerlitz, Hadar Hen Zion, Kamal Heib,
	Maor Gottlieb, Mohamad Haj Yahia, Aviv Heller, netdev,
	linux-rdma, linux-kernel

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] [net-next] net/mlx5: include wq.o in non-ethernet build for FPGA
  2017-06-30 19:25   ` Arnd Bergmann
@ 2017-07-02  8:45     ` Saeed Mahameed
  2017-07-03  7:21       ` Arnd Bergmann
  0 siblings, 1 reply; 5+ messages in thread
From: Saeed Mahameed @ 2017-07-02  8:45 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Ilan Tayari, Saeed Mahameed, Matan Barak, Leon Romanovsky,
	David S. Miller, Boris Pismenny, Or Gerlitz, Hadar Hen Zion,
	Kamal Heib, Maor Gottlieb, Mohamad Haj Yahia, Aviv Heller,
	netdev, linux-rdma, linux-kernel

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] [net-next] net/mlx5: include wq.o in non-ethernet build for FPGA
  2017-07-02  8:45     ` Saeed Mahameed
@ 2017-07-03  7:21       ` Arnd Bergmann
  0 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2017-07-03  7:21 UTC (permalink / raw)
  To: Saeed Mahameed
  Cc: Ilan Tayari, Saeed Mahameed, Matan Barak, Leon Romanovsky,
	David S. Miller, Boris Pismenny, Or Gerlitz, Hadar Hen Zion,
	Kamal Heib, Maor Gottlieb, Mohamad Haj Yahia, Aviv Heller,
	netdev, linux-rdma, linux-kernel

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-07-03  7:21 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-30 15:43 [PATCH] [net-next] net/mlx5: include wq.o in non-ethernet build for FPGA Arnd Bergmann
2017-06-30 18:58 ` Ilan Tayari
2017-06-30 19:25   ` Arnd Bergmann
2017-07-02  8:45     ` Saeed Mahameed
2017-07-03  7:21       ` Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).