From: Amos Kong <akong@redhat.com>
To: "Kevin O'Connor" <kevin@koconnor.net>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
seabios@seabios.org, kvm@vger.kernel.org,
alex williamson <alex.williamson@redhat.com>,
mtosatti@redhat.com, bhelgaas@google.com,
kaneshige.kenji@jp.fujitsu.com
Subject: Re: [SeaBIOS PATCH v3] hotplug: Add device per func in ACPI DSDT tables
Date: Mon, 19 Dec 2011 16:45:48 +0800 [thread overview]
Message-ID: <4EEEF9BC.3040103@redhat.com> (raw)
In-Reply-To: <20111214010645.GA2044@morn.localdomain>
On 14/12/11 09:06, Kevin O'Connor wrote:
> On Tue, Dec 06, 2011 at 07:32:55PM -0500, Amos Kong wrote:
>> ----- Original Message -----
>>> On Tue, Dec 06, 2011 at 01:39:35PM +0800, Amos Kong wrote:
>>>> Only func 0 is registered to guest driver (we can
>>>> only found func 0 in slot->funcs list of driver),
>>>> the other functions could not be cleaned when
>>>> hot-removing the whole slot. This patch adds
>>>> device per function in ACPI DSDT tables.
>>>> Notify only when func0 is added and removed.
>>>>
>>>> Have tested with linux/winxp/win7, hot-adding/hot-remving,
>>>> single/multiple function device, they are all fine(all
>>>> added devices can be removed).
>>>>
>>> This includes some bits I wrote but this is not an ack
>>> of the patch yet :)
>>>
>>> I find it surprising that this works: a function
>>> has _EJ0 so would not guest expect that ejecting
>>> a single one will only remove it, and not all functions?
>>
>> Removing single func is not supported by specific, and current code
>> (qemu/kernel pci driver) process hot-remove with the whole slot.
>> We could not hot-remove single func with/without this patch.
>>
>> Register _EJ0() for each func, then all the funcs will be record
>> into the function list of the slot.
>
> Just as an update - it's not clear to me what this patch does, and it
> seems like Michael had some concerns.
>
> Also, it doesn't seem right to hardcode the generation of that many
> devices (248) in the AML code.
Hi Kevin,
When we hot-unplug a pci device, all functions in same slot should be
unpluged
in one time. Hot-plug/unpluging nics for winXp VM is fine(all funcs can
be removed).
But hot-unpluging nics of linux VM exists problem(only function 0 is
removed),
Because not all the functions are registered in slot->funcs list in
guest kernel.
What we can do to resolve this problem:
1. remove all the functions when hot-unplug one function in the slot
http://marc.info/?l=kvm&m=131597620101566&w=2
[PATCH] pci: clean all funcs when hot-removing multifunc device
2. register all the functions to slot->funcs list, then we don't need to
change guest pci driver.
http://marc.info/?l=kvm&m=132314964618843&w=2
[SeaBIOS PATCH v3] hotplug: Add device per func in ACPI DSDT tables
mst, any more comment?
Thanks,
Amos
> So, unless there are further comments I'm going to hold off on this
> patch.
>
> -Kevin
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2011-12-19 8:38 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-19 6:53 [SEABIOS PATCH 0/2] fix of hotplug multi-func device Amos Kong
2011-09-19 6:53 ` [SeaBIOS PATCH 1/2] Fix regression of commit 87b533bf Amos Kong
2011-09-19 7:27 ` [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables Amos Kong
2011-09-19 9:57 ` [SeaBIOS] " Gleb Natapov
2011-09-19 10:02 ` Michael S. Tsirkin
2011-09-19 10:12 ` Gleb Natapov
2011-09-19 10:32 ` Gleb Natapov
2011-09-19 12:18 ` [SeaBIOS] " Michael S. Tsirkin
2011-09-19 16:27 ` Marcelo Tosatti
2011-09-19 19:08 ` Michael S. Tsirkin
2011-09-20 10:45 ` [SeaBIOS PATCH v2] " Amos Kong
2011-09-20 11:47 ` Marcelo Tosatti
2011-09-21 1:48 ` Kevin O'Connor
2011-09-21 5:39 ` Amos Kong
2011-09-21 11:09 ` Michael S. Tsirkin
2011-09-21 12:47 ` Kevin O'Connor
2011-09-21 13:14 ` Michael S. Tsirkin
2011-12-06 5:39 ` [SeaBIOS PATCH v3] " Amos Kong
2011-12-06 11:36 ` Michael S. Tsirkin
2011-12-07 0:32 ` Amos Kong
2011-12-14 1:06 ` Kevin O'Connor
2011-12-19 8:45 ` Amos Kong [this message]
2012-05-09 7:24 ` [RESEND PATCH v3] hotplug: add " Amos Kong
2012-05-09 7:24 ` [Qemu-devel] " Amos Kong
2012-05-09 7:35 ` Amos Kong
2012-05-09 8:46 ` Michael S. Tsirkin
2012-05-09 8:46 ` [Qemu-devel] " Michael S. Tsirkin
2012-05-09 8:59 ` Amos Kong
2012-05-09 9:53 ` Amos Kong
2012-05-09 13:47 ` Alex Williamson
2012-05-09 13:47 ` [Qemu-devel] " Alex Williamson
2012-05-09 16:08 ` Amos Kong
2012-05-10 16:50 ` Jiang Liu
2012-05-10 16:50 ` [Qemu-devel] " Jiang Liu
2012-05-10 17:03 ` Michael S. Tsirkin
2012-05-10 17:03 ` [Qemu-devel] " Michael S. Tsirkin
2012-05-10 17:17 ` Jiang Liu
2012-05-10 17:17 ` [Qemu-devel] " Jiang Liu
2012-05-10 17:42 ` Michael S. Tsirkin
2012-05-10 17:42 ` [Qemu-devel] " Michael S. Tsirkin
2012-05-10 17:46 ` Jiang Liu
2012-05-10 17:46 ` [Qemu-devel] " Jiang Liu
2012-05-10 23:40 ` Amos Kong
2012-05-10 23:40 ` Amos Kong
2012-05-11 10:14 ` [SeaBIOS] " Gleb Natapov
2012-05-11 10:14 ` [Qemu-devel] " Gleb Natapov
2012-05-11 15:44 ` Jiang Liu
2012-05-11 15:44 ` [Qemu-devel] " Jiang Liu
2012-05-11 17:04 ` Gleb Natapov
2012-05-11 17:04 ` [Qemu-devel] " Gleb Natapov
2011-09-20 10:44 ` [SeaBIOS PATCH] hotplug: Add " Amos Kong
2011-09-20 11:42 ` Marcelo Tosatti
2011-09-20 8:00 ` [SeaBIOS PATCH v2] Fix regression of commit 87b533bf Amos Kong
2011-09-20 23:52 ` Kevin O'Connor
[not found] ` <20110919065347.22802.53640.stgit@t>
[not found] ` <20110919093644.GC4501@redhat.com>
2011-09-19 9:49 ` [SeaBIOS PATCH 2/2] hotplug: Add device per func in ACPI DSDT tables Michael S. Tsirkin
2011-09-19 10:04 ` Michael S. Tsirkin
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=4EEEF9BC.3040103@redhat.com \
--to=akong@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=bhelgaas@google.com \
--cc=kaneshige.kenji@jp.fujitsu.com \
--cc=kevin@koconnor.net \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.com \
--cc=seabios@seabios.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.