[<prev] [next>] [day] [month] [year] [list]
Message-ID: <1465848825.16234.251.camel@intel.com>
Date: Mon, 13 Jun 2016 20:14:01 +0000
From: "Jiang, Dave" <dave.jiang@...el.com>
To: "Allen.Hubbe@....com" <Allen.Hubbe@....com>,
"logang@...tatee.com" <logang@...tatee.com>,
"jdmason@...zu.us" <jdmason@...zu.us>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"shuahkh@....samsung.com" <shuahkh@....samsung.com>,
"sudipm.mukherjee@...il.com" <sudipm.mukherjee@...il.com>,
"linux-kselftest@...r.kernel.org" <linux-kselftest@...r.kernel.org>,
"arnd@...db.de" <arnd@...db.de>,
"linux-ntb@...glegroups.com" <linux-ntb@...glegroups.com>
Subject: Re: [PATCH 4/8] ntb_perf: Wait for link before running test
On Fri, 2016-06-10 at 16:54 -0600, Logan Gunthorpe wrote:
> Instead of returning immediately with an error when the link is
> down, wait for the link to come up (or the user sends a SIGINT).
>
> This is to make scripting ntb_perf easier.
>
> Signed-off-by: Logan Gunthorpe <logang@...tatee.com>
Acked-by: Dave Jiang <dave.jiang@...el.com>
> ---
> drivers/ntb/test/ntb_perf.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/ntb/test/ntb_perf.c
> b/drivers/ntb/test/ntb_perf.c
> index 05a8705..f0784e5 100644
> --- a/drivers/ntb/test/ntb_perf.c
> +++ b/drivers/ntb/test/ntb_perf.c
> @@ -135,6 +135,7 @@ struct perf_ctx {
> bool link_is_up;
> struct work_struct link_cleanup;
> struct delayed_work link_work;
> + wait_queue_head_t link_wq;
> struct dentry *debugfs_node_dir;
> struct dentry *debugfs_run;
> struct dentry *debugfs_threads;
> @@ -533,6 +534,7 @@ static void perf_link_work(struct work_struct
> *work)
> goto out1;
>
> perf->link_is_up = true;
> + wake_up(&perf->link_wq);
>
> return;
>
> @@ -653,7 +655,7 @@ static ssize_t debugfs_run_write(struct file
> *filp, const char __user *ubuf,
> int node, i;
> DECLARE_WAIT_QUEUE_HEAD(wq);
>
> - if (!perf->link_is_up)
> + if (wait_event_interruptible(perf->link_wq, perf-
> >link_is_up))
> return -ENOLINK;
>
> if (perf->perf_threads == 0)
> @@ -783,6 +785,7 @@ static int perf_probe(struct ntb_client *client,
> struct ntb_dev *ntb)
> mutex_init(&perf->run_mutex);
> spin_lock_init(&perf->db_lock);
> perf_setup_mw(ntb, perf);
> + init_waitqueue_head(&perf->link_wq);
> INIT_DELAYED_WORK(&perf->link_work, perf_link_work);
> INIT_WORK(&perf->link_cleanup, perf_link_cleanup);
>
> --
> 2.1.4
>
Powered by blists - more mailing lists