[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <556984ea-c35f-197d-0e45-16272da3f604@oracle.com>
Date: Mon, 23 Jul 2018 08:36:11 -0700
From: Qing Huang <qing.huang@...cle.com>
To: Daniel Jurgens <danielj@...lanox.com>,
Or Gerlitz <gerlitz.or@...il.com>,
Parav Pandit <parav@...lanox.com>
Cc: Linux Kernel <linux-kernel@...r.kernel.org>,
RDMA mailing list <linux-rdma@...r.kernel.org>,
Jason Gunthorpe <jgg@...pe.ca>,
Doug Ledford <dledford@...hat.com>,
Leon Romanovsky <leon@...nel.org>, gerald.gibson@...cle.com
Subject: Re: [PATCH] IB/mlx5: avoid binding a new mpi unit to the same devices
repeatedly
On 7/15/2018 12:48 PM, Daniel Jurgens wrote:
> On 7/14/2018 10:57 AM, Or Gerlitz wrote:
>> On Sat, Jul 14, 2018 at 2:50 AM, Qing Huang <qing.huang@...cle.com> wrote:
>>> When a CX5 device is configured in dual-port RoCE mode, after creating
>>> many VFs against port 1, creating the same number of VFs against port 2
>>> will flood kernel/syslog with something like
>>> "mlx5_*:mlx5_ib_bind_slave_port:4266:(pid 5269): port 2 already
>>> affiliated."
>>>
>>> So basically, when traversing mlx5_ib_dev_list, mlx5_ib_add_slave_port()
>>> shouldn't repeatedly attempt to bind the new mpi data unit to every device
>>> on the list until it finds an unbound device.
>> Daniel,
>>
>> What is mpi data unit?
> It's a structure to keep track affiliated port info in dual port RoCE mode, mpi meaning multi-port info. Parav can review this it my absence, otherwise I can take a closer look when I return to the office.
Hi Daniel/Parav,
Have you got a chance to review this patch? Thanks!
>> Or.
>>
>>> Reported-by: Gerald Gibson <gerald.gibson@...cle.com>
>>> Signed-off-by: Qing Huang <qing.huang@...cle.com>
>>> ---
>>> drivers/infiniband/hw/mlx5/main.c | 3 ++-
>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
>>> index b3ba9a2..1ddd1d3 100644
>>> --- a/drivers/infiniband/hw/mlx5/main.c
>>> +++ b/drivers/infiniband/hw/mlx5/main.c
>>> @@ -6068,7 +6068,8 @@ static void *mlx5_ib_add_slave_port(struct mlx5_core_dev *mdev, u8 port_num)
>>>
>>> mutex_lock(&mlx5_ib_multiport_mutex);
>>> list_for_each_entry(dev, &mlx5_ib_dev_list, ib_dev_list) {
>>> - if (dev->sys_image_guid == mpi->sys_image_guid)
>>> + if (dev->sys_image_guid == mpi->sys_image_guid &&
>>> + !dev->port[mlx5_core_native_port_num(mdev) - 1].mp.mpi)
>>> bound = mlx5_ib_bind_slave_port(dev, mpi);
>>>
>>> if (bound) {
>>> --
>>> 2.9.3
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
>>> the body of a message to majordomo@...r.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists