All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-rc or next 0/2] Two small fixups
@ 2021-07-01 15:46 Dennis Dalessandro
  2021-07-01 15:47 ` [PATCH for-rc or next 1/2] IB/hfi1: Indicate DMA wait when txq is queued for wakeup Dennis Dalessandro
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Dennis Dalessandro @ 2021-07-01 15:46 UTC (permalink / raw)
  To: jgg, dledford; +Cc: linux-rdma

Hi Jason,

These two small patches aren't realy fixing serious bugs. Maybe you want to
wait for 5.15 content, but they are small and have fixes lines. Maybe OK
for the RC, so wanted to get them out.

---

Mike Marciniszyn (2):
      IB/hfi1: Indicate DMA wait when txq is queued for wakeup
      IB/hfi1: Adjust pkey entry in index 0


 drivers/infiniband/hw/hfi1/init.c     |    7 +------
 drivers/infiniband/hw/hfi1/ipoib_tx.c |    3 +++
 2 files changed, 4 insertions(+), 6 deletions(-)

--
-Denny
External recipient

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

* [PATCH for-rc or next 1/2] IB/hfi1: Indicate DMA wait when txq is queued for wakeup
  2021-07-01 15:46 [PATCH for-rc or next 0/2] Two small fixups Dennis Dalessandro
@ 2021-07-01 15:47 ` Dennis Dalessandro
  2021-07-01 15:47 ` [PATCH for-rc or next 2/2] IB/hfi1: Adjust pkey entry in index 0 Dennis Dalessandro
  2021-07-01 15:50 ` [PATCH for-rc or next 0/2] Two small fixups Dennis Dalessandro
  2 siblings, 0 replies; 5+ messages in thread
From: Dennis Dalessandro @ 2021-07-01 15:47 UTC (permalink / raw)
  To: jgg, dledford; +Cc: linux-rdma, Mike Marciniszyn

From: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>

There is no counter for dmawait in AIP, which hampers debugging
performance issues.

Add the counter increment when the txq is queued.

Fixes: d99dc602e2a5 ("IB/hfi1: Add functions to transmit datagram ipoib packets")
Fixes: c4cf5688ea69 ("IB/hfi1: Indicate DMA wait when txq is queued for wakeup")
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
---
 drivers/infiniband/hw/hfi1/ipoib_tx.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/infiniband/hw/hfi1/ipoib_tx.c b/drivers/infiniband/hw/hfi1/ipoib_tx.c
index 993f983..e74ddbe 100644
--- a/drivers/infiniband/hw/hfi1/ipoib_tx.c
+++ b/drivers/infiniband/hw/hfi1/ipoib_tx.c
@@ -644,10 +644,13 @@ static int hfi1_ipoib_sdma_sleep(struct sdma_engine *sde,
                        /* came from non-list submit */
                        list_add_tail(&txreq->list, &txq->tx_list);
                if (list_empty(&txq->wait.list)) {
+                       struct hfi1_ibport *ibp = &sde->ppd->ibport_data;
+
                        if (!atomic_xchg(&txq->no_desc, 1)) {
                                trace_hfi1_txq_queued(txq);
                                hfi1_ipoib_stop_txq(txq);
                        }
+                       ibp->rvp.n_dmawait++;
                        iowait_queue(pkts_sent, wait->iow, &sde->dmawait);
                }


External recipient

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

* [PATCH for-rc or next 2/2] IB/hfi1: Adjust pkey entry in index 0
  2021-07-01 15:46 [PATCH for-rc or next 0/2] Two small fixups Dennis Dalessandro
  2021-07-01 15:47 ` [PATCH for-rc or next 1/2] IB/hfi1: Indicate DMA wait when txq is queued for wakeup Dennis Dalessandro
@ 2021-07-01 15:47 ` Dennis Dalessandro
  2021-07-01 15:50 ` [PATCH for-rc or next 0/2] Two small fixups Dennis Dalessandro
  2 siblings, 0 replies; 5+ messages in thread
From: Dennis Dalessandro @ 2021-07-01 15:47 UTC (permalink / raw)
  To: jgg, dledford; +Cc: linux-rdma, Mike Marciniszyn

From: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>

It is possible for the primary IPoIB network device associated with any
RDMA device to fail to join certain multicast groups preventing IPv6
neighbor discovery and possibly other network ULPs from working
correctly. The IPv4 broadcast group is not affected as the IPoIB
network device handles joining that multicast group directly.

This is because the primary IPoIB network device uses the pkey at
ndex 0 in the associated RDMA device's pkey table. Anytime the pkey
value of index 0 changes, the primary IPoIB network device
automatically modifies it's broadcast address
(i.e. /sys/class/net/[ib0]/broadcast), since the broadcast address
includes the pkey value, and then bounces carrier. This includes
initial pkey assignment, such as when the pkey at index 0 transitions
from the opa default of invalid (0x0000) to some value such as the
OPA default pkey for Virtual Fabric 0: 0x8001 or when the fabric manager
is restarted with a configuration change causing the pkey at index 0
to change. Many network ULPs are not sensitive to the carrier bounce
and are not expecting the broadcast address to change including the
linux IPv6 stack.  This problem does not affect IPoIB child network
devices as their pkey value is constant for all time.

To mitigate this issue, change the default pkey in at index 0 to
0x8001 to cover the predominant case and avoid issues as ipoib
comes up and the FM sweeps.

At some point, ipoib multicast support should automatically
fix non-broadcast addresses as it does with the primary broadcast
address.


Fixes: 7724105686e7 ("IB/hfi1: add driver files")
Suggested-by: Josh Collier <josh.d.collier@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
---
 drivers/infiniband/hw/hfi1/init.c |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/infiniband/hw/hfi1/init.c b/drivers/infiniband/hw/hfi1/init.c
index 0986aa0..34106e5 100644
--- a/drivers/infiniband/hw/hfi1/init.c
+++ b/drivers/infiniband/hw/hfi1/init.c
@@ -650,12 +650,7 @@ void hfi1_init_pportdata(struct pci_dev *pdev, struct hfi1_pportdata *ppd,

        ppd->pkeys[default_pkey_idx] = DEFAULT_P_KEY;
        ppd->part_enforce |= HFI1_PART_ENFORCE_IN;
-
-       if (loopback) {
-               dd_dev_err(dd, "Faking data partition 0x8001 in idx %u\n",
-                          !default_pkey_idx);
-               ppd->pkeys[!default_pkey_idx] = 0x8001;
-       }
+       ppd->pkeys[0] = 0x8001;

        INIT_WORK(&ppd->link_vc_work, handle_verify_cap);
        INIT_WORK(&ppd->link_up_work, handle_link_up);

External recipient

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

* Re: [PATCH for-rc or next 0/2] Two small fixups
  2021-07-01 15:46 [PATCH for-rc or next 0/2] Two small fixups Dennis Dalessandro
  2021-07-01 15:47 ` [PATCH for-rc or next 1/2] IB/hfi1: Indicate DMA wait when txq is queued for wakeup Dennis Dalessandro
  2021-07-01 15:47 ` [PATCH for-rc or next 2/2] IB/hfi1: Adjust pkey entry in index 0 Dennis Dalessandro
@ 2021-07-01 15:50 ` Dennis Dalessandro
  2021-07-05 16:40   ` Jason Gunthorpe
  2 siblings, 1 reply; 5+ messages in thread
From: Dennis Dalessandro @ 2021-07-01 15:50 UTC (permalink / raw)
  To: jgg, dledford; +Cc: linux-rdma

On 7/1/21 11:46 AM, Dennis Dalessandro wrote:
> Hi Jason,
>
> These two small patches aren't realy fixing serious bugs. Maybe you want to
> wait for 5.15 content, but they are small and have fixes lines. Maybe OK
> for the RC, so wanted to get them out.
>
> ---
>
> Mike Marciniszyn (2):
>       IB/hfi1: Indicate DMA wait when txq is queued for wakeup
>       IB/hfi1: Adjust pkey entry in index 0
>
>
>  drivers/infiniband/hw/hfi1/init.c     |    7 +------
>  drivers/infiniband/hw/hfi1/ipoib_tx.c |    3 +++
>  2 files changed, 4 insertions(+), 6 deletions(-)
>
> --
> -Denny
> External recipient
^^^^^^^^^^^^^^^^^^^^ No clue how that got added. Looking into that right now.


External recipient

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

* Re: [PATCH for-rc or next 0/2] Two small fixups
  2021-07-01 15:50 ` [PATCH for-rc or next 0/2] Two small fixups Dennis Dalessandro
@ 2021-07-05 16:40   ` Jason Gunthorpe
  0 siblings, 0 replies; 5+ messages in thread
From: Jason Gunthorpe @ 2021-07-05 16:40 UTC (permalink / raw)
  To: Dennis Dalessandro; +Cc: dledford, linux-rdma

On Thu, Jul 01, 2021 at 11:50:51AM -0400, Dennis Dalessandro wrote:
> On 7/1/21 11:46 AM, Dennis Dalessandro wrote:
> > Hi Jason,
> >
> > These two small patches aren't realy fixing serious bugs. Maybe you want to
> > wait for 5.15 content, but they are small and have fixes lines. Maybe OK
> > for the RC, so wanted to get them out.
> >
> >
> > Mike Marciniszyn (2):
> >       IB/hfi1: Indicate DMA wait when txq is queued for wakeup
> >       IB/hfi1: Adjust pkey entry in index 0
> >
> >
> >  drivers/infiniband/hw/hfi1/init.c     |    7 +------
> >  drivers/infiniband/hw/hfi1/ipoib_tx.c |    3 +++
> >  2 files changed, 4 insertions(+), 6 deletions(-)
> >
> ^^^^^^^^^^^^^^^^^^^^ No clue how that got added. Looking into that right now.
> 

Oh yes, and it corrupted the diffs along the way too.

Using index info to reconstruct a base tree...
error: patch failed: drivers/infiniband/hw/hfi1/ipoib_tx.c:644
error: drivers/infiniband/hw/hfi1/ipoib_tx.c: patch does not apply
error: Did you hand edit your patch?
It does not apply to blobs recorded in its index.

Discourage your IT department from mangling outgoing emails... Looks
like your site is using O365 - you may want to bypass your on prem
SMTP and submit directly to smtp.office365.com:587

This may help:

https://github.com/jgunthorpe/cloud_mdir_sync

Particularly the "outbound mail through smtp" section

Jason

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

end of thread, other threads:[~2021-07-05 16:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-01 15:46 [PATCH for-rc or next 0/2] Two small fixups Dennis Dalessandro
2021-07-01 15:47 ` [PATCH for-rc or next 1/2] IB/hfi1: Indicate DMA wait when txq is queued for wakeup Dennis Dalessandro
2021-07-01 15:47 ` [PATCH for-rc or next 2/2] IB/hfi1: Adjust pkey entry in index 0 Dennis Dalessandro
2021-07-01 15:50 ` [PATCH for-rc or next 0/2] Two small fixups Dennis Dalessandro
2021-07-05 16:40   ` Jason Gunthorpe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.