From: dpdklab@iol.unh.edu
To: test-report@dpdk.org
Cc: dpdk-test-reports@iol.unh.edu
Subject: |WARNING| pw128099 [PATCH] [v2] common/cnxk: fix mbox timeout due to deadlock
Date: Mon, 05 Jun 2023 02:02:47 -0700 (PDT) [thread overview]
Message-ID: <647da4b7.4a0a0220.90548.33a1SMTPIN_ADDED_MISSING@mx.google.com> (raw)
Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/128099
_apply patch failure_
Submitter: Harman Kalra <hkalra@marvell.com>
Date: Monday, June 05 2023 08:44:23
Applied on: CommitID:abaa473297cf21cb81e5348185a7694ae2f221e7
Apply patch set 128099 failed:
Checking patch drivers/common/cnxk/roc_dev.c...
error: while searching for:
/* PF handling messages from VF */
static void
roc_vf_pf_mbox_handle_msg(void *param)
{
uint16_t vf, max_vf, max_bits;
struct dev *dev = param;
error: patch failed: drivers/common/cnxk/roc_dev.c:348
error: while searching for:
max_vf = max_bits * MAX_VFPF_DWORD_BITS;
for (vf = 0; vf < max_vf; vf++) {
if (dev->intr.bits[vf / max_bits] & BIT_ULL(vf % max_bits)) {
plt_base_dbg("Process vf:%d request (pf:%d, vf:%d)", vf,
dev->pf, dev->vf);
/* VF initiated down messages */
vf_pf_process_msgs(dev, vf);
/* VF replies to PF's UP messages */
vf_pf_process_up_msgs(dev, vf);
dev->intr.bits[vf / max_bits] &=
~(BIT_ULL(vf % max_bits));
}
}
dev->timer_set = 0;
}
/* IRQ to PF from VF - PF context (interrupt thread) */
static void
roc_vf_pf_mbox_irq(void *param)
{
struct dev *dev = param;
bool alarm_set = false;
uint64_t intr;
int vfpf;
for (vfpf = 0; vfpf < MAX_VFPF_DWORD_BITS; ++vfpf) {
intr = plt_read64(dev->bar2 + RVU_PF_VFPF_MBOX_INTX(vfpf));
if (!intr)
error: patch failed: drivers/common/cnxk/roc_dev.c:357
Hunk #4 succeeded at 384 (offset -12 lines).
Hunk #5 succeeded at 691 (offset -34 lines).
Hunk #6 succeeded at 772 (offset -34 lines).
Hunk #7 succeeded at 815 (offset -34 lines).
Hunk #8 succeeded at 826 (offset -34 lines).
Hunk #9 succeeded at 835 (offset -34 lines).
Hunk #10 succeeded at 926 (offset -34 lines).
Hunk #11 succeeded at 1228 (offset -35 lines).
Hunk #12 succeeded at 1329 (offset -35 lines).
Hunk #13 succeeded at 1394 (offset -35 lines).
Checking patch drivers/common/cnxk/roc_dev_priv.h...
Checking patch drivers/common/cnxk/roc_nix.h...
error: while searching for:
uintptr_t meta_mempool;
TAILQ_ENTRY(roc_nix) next;
#define ROC_NIX_MEM_SZ (6 * 1056)
uint8_t reserved[ROC_NIX_MEM_SZ] __plt_cache_aligned;
} __plt_cache_aligned;
error: patch failed: drivers/common/cnxk/roc_nix.h:483
Applying patch drivers/common/cnxk/roc_dev.c with 2 rejects...
Hunk #1 applied cleanly.
Rejected hunk #2.
Rejected hunk #3.
Hunk #4 applied cleanly.
Hunk #5 applied cleanly.
Hunk #6 applied cleanly.
Hunk #7 applied cleanly.
Hunk #8 applied cleanly.
Hunk #9 applied cleanly.
Hunk #10 applied cleanly.
Hunk #11 applied cleanly.
Hunk #12 applied cleanly.
Hunk #13 applied cleanly.
Applied patch drivers/common/cnxk/roc_dev_priv.h cleanly.
Applying patch drivers/common/cnxk/roc_nix.h with 1 reject...
Rejected hunk #1.
hint: Use 'git am --show-current-patch' to see the failed patch
diff a/drivers/common/cnxk/roc_dev.c b/drivers/common/cnxk/roc_dev.c (rejected hunks)
@@ -348,7 +354,7 @@ vf_pf_process_up_msgs(struct dev *dev, uint16_t vf)
/* PF handling messages from VF */
static void
-roc_vf_pf_mbox_handle_msg(void *param)
+roc_vf_pf_mbox_handle_msg(void *param, dev_intr_t *intr)
{
uint16_t vf, max_vf, max_bits;
struct dev *dev = param;
@@ -357,29 +363,30 @@ roc_vf_pf_mbox_handle_msg(void *param)
max_vf = max_bits * MAX_VFPF_DWORD_BITS;
for (vf = 0; vf < max_vf; vf++) {
- if (dev->intr.bits[vf / max_bits] & BIT_ULL(vf % max_bits)) {
+ if (intr->bits[vf / max_bits] & BIT_ULL(vf % max_bits)) {
plt_base_dbg("Process vf:%d request (pf:%d, vf:%d)", vf,
dev->pf, dev->vf);
/* VF initiated down messages */
vf_pf_process_msgs(dev, vf);
/* VF replies to PF's UP messages */
vf_pf_process_up_msgs(dev, vf);
- dev->intr.bits[vf / max_bits] &=
- ~(BIT_ULL(vf % max_bits));
+ intr->bits[vf / max_bits] &= ~(BIT_ULL(vf % max_bits));
}
}
- dev->timer_set = 0;
}
/* IRQ to PF from VF - PF context (interrupt thread) */
static void
roc_vf_pf_mbox_irq(void *param)
{
+ bool signal_thread = false;
struct dev *dev = param;
- bool alarm_set = false;
+ dev_intr_t intrb;
uint64_t intr;
- int vfpf;
+ int vfpf, sz;
+ sz = sizeof(intrb.bits[0]) * MAX_VFPF_DWORD_BITS;
+ memset(intrb.bits, 0, sz);
for (vfpf = 0; vfpf < MAX_VFPF_DWORD_BITS; ++vfpf) {
intr = plt_read64(dev->bar2 + RVU_PF_VFPF_MBOX_INTX(vfpf));
if (!intr)
diff a/drivers/common/cnxk/roc_nix.h b/drivers/common/cnxk/roc_nix.h (rejected hunks)
@@ -483,7 +483,7 @@ struct roc_nix {
uintptr_t meta_mempool;
TAILQ_ENTRY(roc_nix) next;
-#define ROC_NIX_MEM_SZ (6 * 1056)
+#define ROC_NIX_MEM_SZ (6 * 1070)
uint8_t reserved[ROC_NIX_MEM_SZ] __plt_cache_aligned;
} __plt_cache_aligned;
https://lab.dpdk.org/results/dashboard/patchsets/26530/
UNH-IOL DPDK Community Lab
next reply other threads:[~2023-06-05 9:02 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-05 9:02 dpdklab [this message]
2023-06-09 21:59 dpdklab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=647da4b7.4a0a0220.90548.33a1SMTPIN_ADDED_MISSING@mx.google.com \
--to=dpdklab@iol.unh.edu \
--cc=dpdk-test-reports@iol.unh.edu \
--cc=test-report@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).