qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jonah Palmer <jonah.palmer@oracle.com>
To: Eugenio Perez Martin <eperezma@redhat.com>,
	Michael Tokarev <mjt@tls.msk.ru>
Cc: Jason Wang <jasowang@redhat.com>,
	qemu-devel@nongnu.org, dtatulea@nvidia.com, mcoqueli@redhat.com,
	mst@redhat.com, si-wei.liu@oracle.com, qemu-stable@nongnu.org,
	leiyang@redhat.com, Ani Sinha <anisinha@redhat.com>
Subject: Re: [PATCH v2 0/2] Move net backend cleanup to NIC cleanup
Date: Mon, 6 Jan 2025 11:03:47 -0500	[thread overview]
Message-ID: <8a944e82-ac02-44d6-88dc-c2444a971377@oracle.com> (raw)
In-Reply-To: <CAJaqyWcgbFx=0LVLG-FFqGbYMrwa5qyWxhPhfqdYY0QAvsRe3Q@mail.gmail.com>



On 12/23/24 11:33 AM, Eugenio Perez Martin wrote:
> On Fri, Dec 20, 2024 at 10:02 PM Michael Tokarev <mjt@tls.msk.ru> wrote:
>>
>> 12.09.2024 19:54, Eugenio Pérez wrote:
>>> Commit a0d7215e33 ("vhost-vdpa: do not cleanup the vdpa/vhost-net
>>> structures if peer nic is present") effectively delayed the backend
>>> cleanup, allowing the frontend or the guest to access it resources as
>>> long as the frontend NIC is still visible to the guest.
>>>
>>> However it does not clean up the resources until the qemu process is
>>> over.  This causes an effective leak if the device is deleted with
>>> device_del, as there is no way to close the vdpa device.  This makes
>>> impossible to re-add that device to this or other QEMU instances until
>>> the first instance of QEMU is finished.
>>>
>>> Move the cleanup from qemu_cleanup to the NIC deletion.
>>>
>>> v2:
>>> Remove NIC peer also at net_cleanup. vhost-user trust all the
>>> backends are clean before qemu removes char devices.
>>>
>>> This is not a requisite introduced by this commit as
>>> system/runstate.c:qemu_cleanup shows.
>>>
>>> Eugenio Pérez (2):
>>>     net: parameterize the removing client from nc list
>>>     net: move backend cleanup to NIC cleanup
>>>
>>>    net/net.c        | 44 ++++++++++++++++++++++++++++++++++----------
>>>    net/vhost-vdpa.c |  8 --------
>>>    2 files changed, 34 insertions(+), 18 deletions(-)
>> Hi!
>>
>> It looks like this series has been forgotten.  Is it still needed?
>>
>> In order for it to build, a single line in patch 2 needs to be
>> changed (in net_cleanup()), from:
>>
>> +                for (int i = 0; i < queues; i++) {
>> +                    NetClientState *nc = qemu_get_subqueue(nic, i);
>> +                    qemu_cleanup_net_client(nc->peer, false);
>> +                }
>>
>> to
>>
>> +                for (int i = 0; i < queues; i++) {
>> +                    nc = qemu_get_subqueue(nic, i);
>> +                    qemu_cleanup_net_client(nc->peer, false);
>> +                }
>>
>> so there's no variable shadowing anymore.
>>
>> Should this series be resent (a v3), or can this be fixed at apply time?
>>
> 
> I guess it is better to resend a v3, so we don't have a compiler
> warning (or error). Jonah, maybe do you want to move this one forward?
> 
> Thanks!
> 
Just sent out the v3 with the quick fix.

Ugh, and I just realized I forgot to CC Michael Tokarev in the v3 
series. My apologies Michael!

Jonah



      reply	other threads:[~2025-01-06 16:04 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-12 16:54 [PATCH v2 0/2] Move net backend cleanup to NIC cleanup Eugenio Pérez
2024-09-12 16:54 ` [PATCH v2 1/2] net: parameterize the removing client from nc list Eugenio Pérez
2024-09-12 16:54 ` [PATCH v2 2/2] net: move backend cleanup to NIC cleanup Eugenio Pérez
2024-09-18  3:57   ` Si-Wei Liu
2024-10-09  8:34     ` Jason Wang
2024-10-23  4:04   ` Jason Wang
2024-12-20 21:01 ` [PATCH v2 0/2] Move net " Michael Tokarev
2024-12-23 16:33   ` Eugenio Perez Martin
2025-01-06 16:03     ` Jonah Palmer [this message]

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=8a944e82-ac02-44d6-88dc-c2444a971377@oracle.com \
    --to=jonah.palmer@oracle.com \
    --cc=anisinha@redhat.com \
    --cc=dtatulea@nvidia.com \
    --cc=eperezma@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=leiyang@redhat.com \
    --cc=mcoqueli@redhat.com \
    --cc=mjt@tls.msk.ru \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-stable@nongnu.org \
    --cc=si-wei.liu@oracle.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).