From: "Guo, Junfeng" <junfeng.guo@intel.com>
To: Thomas Monjalon <thomas@monjalon.net>,
"Wu, Jingjing" <jingjing.wu@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
"stable@dpdk.org" <stable@dpdk.org>,
"He, Xingguang" <xingguang.he@intel.com>,
"Laatz, Kevin" <kevin.laatz@intel.com>,
"Richardson, Bruce" <bruce.richardson@intel.com>
Subject: RE: [PATCH] examples/ntb: remove redundant logic for dev close
Date: Wed, 28 Jun 2023 08:08:32 +0000 [thread overview]
Message-ID: <DM6PR11MB3723A5771A91391FC75CD927E724A@DM6PR11MB3723.namprd11.prod.outlook.com> (raw)
In-Reply-To: <10294010.qUNvkh4Gvn@thomas>
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Wednesday, June 28, 2023 15:53
> To: Wu, Jingjing <jingjing.wu@intel.com>; Guo, Junfeng
> <junfeng.guo@intel.com>
> Cc: dev@dpdk.org; stable@dpdk.org; He, Xingguang
> <xingguang.he@intel.com>; Laatz, Kevin <kevin.laatz@intel.com>;
> Richardson, Bruce <bruce.richardson@intel.com>
> Subject: Re: [PATCH] examples/ntb: remove redundant logic for dev close
>
> 28/06/2023 04:37, Guo, Junfeng:
> > From: Guo, Junfeng
> > > From: Thomas Monjalon <thomas@monjalon.net>
> > > > 14/06/2023 07:14, Junfeng Guo:
> > > > > During EAL cleanup stage, all bus devices are cleaned up properly.
> > > > > Based on this, there is no need to do extra device close process,
> > > > > which may call the dev ops '*dev->dev_ops->dev_close' twice.
> > > > >
> > > > > If this dev ops for ntb was called twice, the interrupt handle for
> > > > > EAL will be disabled twice and will lead to error for the seconde
> > > > > time. Like this: "EAL: Error disabling MSI-X interrupts for fd xx"
> > > >
> > > > You should fix ntb to not disable interrupt twice.
> > >
> > > Thanks for the comment!
> > >
> > > Yes, it is exactly what this patch did.
> >
> > Another solution is to add extra logic in dev_close, i.e., to do the
> > interrupt disabling process only when the interrupt handler is valid.
> > That is, to disable interrupt only when 'intr_handle->max_intr' or
> > 'intr_handle->nb_efd' is non-zero.
> >
> > But I'm not sure if this method is a better solution.
> > Please help give some advice, thanks!
>
> Yes this is what I suggest.
> You cannot fix all applications in the world,
> but you can fix the driver, so it is a better way :)
Sure! Thanks for the advice!
Will update with this solution, thanks!
>
> > > The interrupt disabling process is part of 'dev_close' ops, and will be
> > > called twice (one in EAL cleanup, another in ntb example cleanup).
> > >
> > > Now that fixed & covered by the EAL cleanup, there is no need to
> > > run dev_close at ntb example. Just remove that redundant logic.
>
>
next prev parent reply other threads:[~2023-06-28 8:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-14 5:14 Junfeng Guo
2023-06-15 8:28 ` Ling, WeiX
2023-06-28 0:12 ` Thomas Monjalon
2023-06-28 2:19 ` Guo, Junfeng
2023-06-28 2:37 ` Guo, Junfeng
2023-06-28 7:53 ` Thomas Monjalon
2023-06-28 8:08 ` Guo, Junfeng [this message]
2023-06-28 9:12 ` [PATCH v2] raw/ntb: add check for disabling interrupt in dev close ops Junfeng Guo
2023-06-29 8:03 ` Ling, WeiX
2023-07-03 6:53 ` Wu, Jingjing
2023-07-03 15:44 ` Thomas Monjalon
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=DM6PR11MB3723A5771A91391FC75CD927E724A@DM6PR11MB3723.namprd11.prod.outlook.com \
--to=junfeng.guo@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=jingjing.wu@intel.com \
--cc=kevin.laatz@intel.com \
--cc=stable@dpdk.org \
--cc=thomas@monjalon.net \
--cc=xingguang.he@intel.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;
as well as URLs for NNTP newsgroup(s).