From: "Allen Hubbe" <Allen.Hubbe@emc.com>
To: "'Jiang, Dave'" <dave.jiang@intel.com>
Cc: jdmason@kudzu.us, linux-ntb@googlegroups.com
Subject: RE: [PATCH v4] ntb: ntb perf tool
Date: Tue, 12 Jan 2016 10:05:36 -0500 [thread overview]
Message-ID: <000001d14d4a$b145df00$13d19d00$@emc.com> (raw)
In-Reply-To: <C10BF57A-A977-456E-93AA-790B89C0BBFB@intel.com>
From: Jiang, Dave <dave.jiang@intel.com>
> > On Jan 12, 2016, at 7:08 AM, Hubbe, Allen <Allen.Hubbe@emc.com> wrote:
> > From: Dave Jiang
> >> Providing raw performance data via a tool that directly access data
> from
> >
> >> diff --git a/drivers/ntb/ntb_transport.c
> b/drivers/ntb/ntb_transport.c
> >> index 60654d5..45583e6 100644
> >> --- a/drivers/ntb/ntb_transport.c
> >> +++ b/drivers/ntb/ntb_transport.c
> >> @@ -177,6 +177,7 @@ struct ntb_transport_qp {
> >> @@ -486,6 +487,8 @@ static ssize_t debugfs_read(struct file *filp,
> char
> >> @@ -726,6 +729,7 @@ static void ntb_qp_link_down_reset(struct
> >> @@ -1499,6 +1503,8 @@ static void ntb_async_tx(struct
> ntb_transport_qp
> >
> > Git am failed on some of these hunks.
> >
> > Why are there are ntb_tranport changes in the ntb_perf patch?
>
> There shouldn't be. Stack git must've messed up something.
I applied the patch without the ntb_transport changes. They are already provided by the patch, NTB: Address out of DMA descriptor issue with NTB.
With just the perf_tool changes, this v4 works for me, for cpu and dma.
It may still need some performance tuning. The numbers are much lower than I expected. Maybe I just need to run it with different parameters, or maybe there's some numa issue. It would be convenient to change the test parameters without reloading the modules.
There might also be a race in link-up. I got stuck with a lot of this, once, and no link related messages on the other side:
[60025.597128] ntb_perf: ntb_hw_intel 0000:00:03.0: Remote version = 0x0
[60025.607119] ntb_perf: ntb_hw_intel 0000:00:03.0: perf_link_work called
[60025.607122] ntb_perf: ntb_hw_intel 0000:00:03.0: Remote version = 0x0
[60025.617122] ntb_perf: ntb_hw_intel 0000:00:03.0: perf_link_work called
[60025.617127] ntb_perf: ntb_hw_intel 0000:00:03.0: Remote version = 0x0
[60025.627133] ntb_perf: ntb_hw_intel 0000:00:03.0: perf_link_work called
[60025.627136] ntb_perf: ntb_hw_intel 0000:00:03.0: Remote version = 0x0
[60025.637118] ntb_perf: ntb_hw_intel 0000:00:03.0: perf_link_work called
[60025.637121] ntb_perf: ntb_hw_intel 0000:00:03.0: Remote version = 0x0
[60025.647123] ntb_perf: ntb_hw_intel 0000:00:03.0: perf_link_work called
[60025.647127] ntb_perf: ntb_hw_intel 0000:00:03.0: Remote version = 0x0
[60025.657115] ntb_perf: ntb_hw_intel 0000:00:03.0: perf_link_work called
On my dual-ntb system, I see both ntb are used by ntb_perf:
[60124.223795] ntb_perf: ntb_hw_intel 0000:00:03.0: perf_link_cleanup called
[60124.226942] ntb_perf: ntb_hw_intel 0000:00:03.0: perf_link_work called
[60124.226947] ntb_perf: ntb_hw_intel 0000:00:03.0: Remote MW size = 0x100000
[60124.246408] ntb_perf: ntb_hw_intel 0000:80:03.0: perf_link_cleanup called
[60124.257389] ntb_perf: ntb_hw_intel 0000:80:03.0: perf_link_work called
[60124.264699] ntb_perf: ntb_hw_intel 0000:80:03.0: Remote MW size = 0x100000
Only one of these ntb is in the debugfs dir, so the other one can't be tested:
root@HYR:/sys/kernel/debug/ntb_perf# ls
0000:00:03.0
> +static int perf_probe(struct ntb_client *client, struct ntb_dev *ntb)
> +{
...
> + if (debugfs_initialized() && !perf_debugfs_dir) {
> + perf_debugfs_dir = debugfs_create_dir(KBUILD_MODNAME, NULL);
> + if (!perf_debugfs_dir)
> + goto err_ctx;
> +
> + rc = perf_debugfs_setup(perf);
> + if (rc)
> + goto err_ctx;
> + }
I think the problem is here. Should perf_debugfs_setup be outside of the if? It looks like the per-device setup is only done if the top level dir didn't already exist. If the top level dir already exists, per-device setup isn't called.
Allen
next prev parent reply other threads:[~2016-01-12 15:05 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-11 23:33 [PATCH v4] ntb: ntb perf tool Dave Jiang
2016-01-12 14:07 ` Hubbe, Allen
2016-01-12 14:31 ` Jiang, Dave
2016-01-12 15:05 ` Allen Hubbe [this message]
2016-01-12 15:59 ` Allen Hubbe
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='000001d14d4a$b145df00$13d19d00$@emc.com' \
--to=allen.hubbe@emc.com \
--cc=dave.jiang@intel.com \
--cc=jdmason@kudzu.us \
--cc=linux-ntb@googlegroups.com \
/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