From: Alon Levy <alevy@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/3] add usb_detach and usb_attach (v3)
Date: Wed, 10 Nov 2010 22:41:44 +0200 [thread overview]
Message-ID: <20101110204144.GA19037@playa.tlv.redhat.com> (raw)
In-Reply-To: <m3tyjp89gt.fsf@blackfin.pond.sub.org>
On Wed, Nov 10, 2010 at 04:49:38PM +0100, Markus Armbruster wrote:
> Sorry for coming so late to this thread...
>
> Alon Levy <alevy@redhat.com> writes:
>
> > On Thu, Oct 21, 2010 at 08:13:19AM -0500, Anthony Liguori wrote:
> >> On 10/21/2010 08:03 AM, Gerd Hoffmann wrote:
> >> >On 10/21/10 08:36, Alon Levy wrote:
> >> >>v2->v3 changes:
> >> >> * add configure parameter
> >> >> * fix docs
> >> >>
> >> >>v2 message:
> >> >>This patchset uses id like device_del for attaching/detaching usb
> >> >>devices. The first two patches ready the way:
> >> >> 1. makes qdev_find_recursive non static and in qdev.h
> >> >> 2. adds a usb_device_by_id which goes over the usb buses calling
> >> >> qdev_find_recursive
> >> >> 3. adds the commands that use usb_device_by_id
> >> >>
> >> >>Alon Levy (3):
> >> >> qdev: make qdev_find_recursive public
> >> >> usb: add public usb_device_by_id
> >> >> monitor: add usb_attach and usb_detach (v2)
> >> >>
> >> >
> >> >Acked-by: Gerd Hoffmann <kraxel@redhat.com>
> >>
> >> Okay, I am still confused about the use-case for this and I don't
> >> see any further explanation in the commit messages. I've seen
> >> "debugging" but can you be a bit more specific about which cases
> >> it's needed for?
> >>
> >
> > I use it for debugging the usb-ccid device. I think it's useful for
> > any other usb device tests as well. The existing commands are not
> > good enough to do a remove/insert of a usb device, since deleting
> > a device also deletes any chardev associated with it, and there is
> > no monitor command to add a chardev. Also sometimes you don't want
> > to close the chardev, just have the guest see a removal/reinsert of
> > the device.
> [...]
>
> Let's see whether I get you: detach removes the device, but doesn't
> destroy it. The only thing you can do with a detached device is attach
> it. Detach+attach is basically the same as del+add with the same
> configuration. Except shortcomings in our command set make it
> impossible to recreate the configuration sometimes. Correct?
So the problems with the current commands from my pov:
- device deletion removes associated chardev
- no way to do it without removing chardev
- no way to add chardev later and use it for device add
The outcome of which is that you can't do a guest wise attach/detach
from monitor if your device relies on a chardev association. This
happens with my passthrough ccid device.
>
> Questions:
>
> 1. If we add commands so that you can always recreate the configuration,
> is detach+attach still useful? Why?
If you make it so you can do a device_del and not remove the chardev, and
later device_add using the already existing chardev, then that will be
equivalent for me.
>
> 2. Why is this a USB problem, and not a general problem? In other
> words, why usb_{detach,attach}, and not device_{detach,attach}?
I guess attach/detach is a don't-free-some-resources del/add. If you
think there are users for a device_attach/detach and it makes sense
conceptually (what's a detach/attach for an ide bus? for a pci it's
pretty clear, for sata, etc.) then you could blow this up to a device
specific callback or something like that (assuming that's how you
would implement this).
next prev parent reply other threads:[~2010-11-10 20:41 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-21 6:36 [Qemu-devel] [PATCH 0/3] add usb_detach and usb_attach (v3) Alon Levy
2010-10-21 6:36 ` [Qemu-devel] [PATCH 1/3] qdev: make qdev_find_recursive public Alon Levy
2010-10-21 6:36 ` [Qemu-devel] [PATCH 2/3] usb: add public usb_device_by_id Alon Levy
2010-10-21 6:36 ` [Qemu-devel] [PATCH 3/3] monitor: add usb_attach and usb_detach (v2) Alon Levy
2010-10-21 13:03 ` [Qemu-devel] [PATCH 0/3] add usb_detach and usb_attach (v3) Gerd Hoffmann
2010-10-21 13:13 ` Anthony Liguori
2010-10-21 13:24 ` Alon Levy
2010-10-22 3:16 ` Ryan Harper
2010-11-10 15:49 ` Markus Armbruster
2010-11-10 20:41 ` Alon Levy [this message]
2010-11-11 10:29 ` Markus Armbruster
2010-11-11 12:56 ` Alon Levy
2010-11-11 15:03 ` Markus Armbruster
2010-11-11 17:01 ` Alon Levy
2010-10-21 13:27 ` Alon Levy
2010-10-22 12:48 ` Luiz Capitulino
2010-10-22 12:55 ` Anthony Liguori
2010-10-22 13:17 ` Luiz Capitulino
2010-10-22 13:43 ` Anthony Liguori
2010-10-22 13:45 ` Luiz Capitulino
2010-10-25 8:44 ` Alon Levy
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=20101110204144.GA19037@playa.tlv.redhat.com \
--to=alevy@redhat.com \
--cc=armbru@redhat.com \
--cc=qemu-devel@nongnu.org \
/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).