DPDK patches and discussions
 help / color / mirror / Atom feed
From: Maxime Coquelin <maxime.coquelin@redhat.com>
To: "Hu, Jiayu" <jiayu.hu@intel.com>,
	Maxime Coquelin <mcoqueli@redhat.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Cc: "Xia, Chenbo" <chenbo.xia@intel.com>,
	"Wang, Yinan" <yinan.wang@intel.com>,
	David Marchand <david.marchand@redhat.com>
Subject: Re: [dpdk-dev] [PATCH 0/2] provide thread unsafe async registration functions
Date: Thu, 1 Jul 2021 17:42:58 +0200	[thread overview]
Message-ID: <2c2bff9d-c703-d914-6b06-13c20c81146c@redhat.com> (raw)
In-Reply-To: <3237b4e8040f45f7bdaefff67828cb71@intel.com>

Hi Jiayu,

On 6/29/21 7:36 AM, Hu, Jiayu wrote:
> Hi Maxime,
> 
>> -----Original Message-----
>> From: Maxime Coquelin <mcoqueli@redhat.com>
>> Sent: Monday, June 7, 2021 9:20 PM
>> To: Hu, Jiayu <jiayu.hu@intel.com>; dev@dpdk.org
>> Cc: maxime.coquelin@redhat.com; Xia, Chenbo <chenbo.xia@intel.com>;
>> Wang, Yinan <yinan.wang@intel.com>
>> Subject: Re: [PATCH 0/2] provide thread unsafe async registration functions
>>
>> Hi Jiayu,
>>
>> On 6/7/21 10:07 AM, Hu, Jiayu wrote:
>>> Hi Maxime,
>>>
>>>> -----Original Message-----
>>>> From: Maxime Coquelin <mcoqueli@redhat.com>
>>>> Sent: Friday, June 4, 2021 3:25 PM
>>>> To: Hu, Jiayu <jiayu.hu@intel.com>; dev@dpdk.org
>>>> Cc: maxime.coquelin@redhat.com; Xia, Chenbo <chenbo.xia@intel.com>;
>>>> Wang, Yinan <yinan.wang@intel.com>
>>>> Subject: Re: [PATCH 0/2] provide thread unsafe async registration
>>>> functions
>>>>
>>>> Sorry, for previous blank reply.
>>>>
>>>> On 5/28/21 10:11 AM, Jiayu Hu wrote:
>>>>> Lock protection is needed during the vhost notifies the application
>>>>> of device readiness, so the first patch is to add lock protection.
>>>>> After performing locking, existed async vhost registration functions
>>>>> will cause deadlock, as they acquire lock too. So the second patch
>>>>> is to provide unsafe registration functions to support calling
>>>>> within vhost callback functions.
>>>>
>>>> I agree the callback should be always protected, and in that case
>>>> having a new thread-unsafe API makes sense for async registration.
>>>>
>>>> Regarding backport, I'm not sure what we should do.
>>>>
>>>> Backporting new API is a no-go, but with only backporting patch 1
>>>> async feature will be always broken on 20.11 LTS, right?
>>>
>>> Yes, if only backporting this fix patch to 20.11 LTS, it may break
>>> apps who call async registration functions inside vhost callbacks.
>>>
>>> How about making this patch not a fix, but a new feature?
>>
>> Async will be still broken in v20.11 in this case.
>> Maybe the better thing would be to remove async support in v20.11, as its
>> support was quite limited in that release anyway. Does that make sense?
> 
> The code of supporting async vhost are beyond 1000 lines. I am afraid that
> removing such more code in 20.11 LTS may get objected. Can we note async
> register/unregister only work in new_/destroy_device, and using them in
> other vhost callback functions will cause deadlock in 20.11 LTS instead?
> Does it make sense to you?

You are right, that removing 1L LoC in LTS might not be the best idea,
since it will cause conflicts when doing backports later on.

Maybe the best way is to return -1 at async registration time, with
logging an error?

Thanks,
Maxime

>  Thanks,
> Jiayu
>>
>> Thanks,
>> Maxime
>>
>>> Thanks,
>>> Jiayu
>>>>
>>>> What do you think?
>>>>
>>>> Thanks,
>>>> Maxime
> 


  reply	other threads:[~2021-07-01 15:43 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-28  8:11 Jiayu Hu
2021-05-28  8:11 ` [dpdk-dev] [PATCH 1/2] vhost: fix lock on device readiness notification Jiayu Hu
2021-07-02  7:36   ` Maxime Coquelin
2021-07-07 11:18   ` [dpdk-dev] [PATCH v2 0/3] provide thread unsafe async registration functions Jiayu Hu
2021-07-07 11:18     ` [dpdk-dev] [PATCH v2 1/3] vhost: fix lock on device readiness notification Jiayu Hu
2021-07-09  9:43       ` [dpdk-dev] [PATCH v3 0/3] provide thread unsafe async registration functions Jiayu Hu
2021-07-09  9:43         ` [dpdk-dev] [PATCH v3 1/3] vhost: fix lock on device readiness notification Jiayu Hu
2021-07-13  7:46           ` [dpdk-dev] [PATCH v4 0/3] provide thread unsafe async registration functions Jiayu Hu
2021-07-13  7:46             ` [dpdk-dev] [PATCH v4 1/3] vhost: fix lock on device readiness notification Jiayu Hu
2021-07-16 19:51               ` [dpdk-dev] [PATCH v5 0/3] provide thread unsafe async registration functions Jiayu Hu
2021-07-16 19:51                 ` [dpdk-dev] [PATCH v5 1/3] vhost: fix lock on device readiness notification Jiayu Hu
2021-07-19 15:00                   ` [dpdk-dev] [PATCH v6 0/3] provide thread unsafe async registration functions Jiayu Hu
2021-07-19 15:00                     ` [dpdk-dev] [PATCH v6 1/3] vhost: fix lock on device readiness notification Jiayu Hu
2021-07-19 15:00                     ` [dpdk-dev] [PATCH v6 2/3] vhost: rework async configuration structure Jiayu Hu
2021-07-20  7:18                       ` Maxime Coquelin
2021-07-20  7:45                         ` Hu, Jiayu
2021-07-19 15:00                     ` [dpdk-dev] [PATCH v6 3/3] vhost: add thread unsafe async registeration functions Jiayu Hu
2021-07-20  7:25                       ` Maxime Coquelin
2021-07-21  6:16                     ` [dpdk-dev] [PATCH v6 0/3] provide thread unsafe async registration functions Xia, Chenbo
2021-07-16 19:51                 ` [dpdk-dev] [PATCH v5 2/3] vhost: rework async configuration structure Jiayu Hu
2021-07-19  2:25                   ` Xia, Chenbo
2021-07-19  7:20                   ` Maxime Coquelin
2021-07-16 19:51                 ` [dpdk-dev] [PATCH v5 3/3] vhost: add thread unsafe async registeration functions Jiayu Hu
2021-07-19  2:27                   ` Xia, Chenbo
2021-07-13  7:46             ` [dpdk-dev] [PATCH v4 2/3] vhost: rework async configuration struct Jiayu Hu
2021-07-16  6:03               ` Xia, Chenbo
2021-07-16  6:18                 ` Hu, Jiayu
2021-07-16  6:27                   ` Xia, Chenbo
2021-07-16  6:34                     ` Hu, Jiayu
2021-07-13  7:46             ` [dpdk-dev] [PATCH v4 3/3] vhost: add thread unsafe async registeration functions Jiayu Hu
2021-07-16  6:54               ` Xia, Chenbo
2021-07-09  9:43         ` [dpdk-dev] [PATCH v3 2/3] vhost: rework async configuration struct Jiayu Hu
2021-07-09  9:43         ` [dpdk-dev] [PATCH v3 3/3] vhost: add thread unsafe async registeration functions Jiayu Hu
2021-07-07 11:18     ` [dpdk-dev] [PATCH v2 2/3] vhost: rework async feature struct Jiayu Hu
2021-07-07  6:39       ` Maxime Coquelin
2021-07-07 11:18     ` [dpdk-dev] [PATCH v2 3/3] vhost: add thread unsafe async registeration functions Jiayu Hu
2021-05-28  8:11 ` [dpdk-dev] [PATCH 2/2] vhost: add thread unsafe async registration functions Jiayu Hu
2021-07-02  7:40   ` Maxime Coquelin
2021-07-05  1:35     ` Hu, Jiayu
2021-07-05  8:58   ` Maxime Coquelin
2021-07-06  8:36     ` Hu, Jiayu
2021-06-04  7:18 ` [dpdk-dev] [PATCH 0/2] provide " Maxime Coquelin
2021-06-04  7:24 ` Maxime Coquelin
2021-06-07  8:07   ` Hu, Jiayu
2021-06-07 13:20     ` Maxime Coquelin
2021-06-08  6:36       ` Hu, Jiayu
2021-06-29  5:36       ` Hu, Jiayu
2021-07-01 15:42         ` Maxime Coquelin [this message]
2021-07-02  0:53           ` Hu, Jiayu

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=2c2bff9d-c703-d914-6b06-13c20c81146c@redhat.com \
    --to=maxime.coquelin@redhat.com \
    --cc=chenbo.xia@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=jiayu.hu@intel.com \
    --cc=mcoqueli@redhat.com \
    --cc=yinan.wang@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).