Re: [Qemu-devel] [PATCH] migration: cleanup check on ops in savevm.handlers iteration

2019-06-11 Thread Wei Yang
On Mon, Apr 01, 2019 at 02:14:57PM +0800, Wei Yang wrote: >During migration, there are several places to iterate on >savevm.handlers. And on each iteration, we need to check its ops and >related callbacks before invoke it. > >Generally, ops is the first element to check, and it is

Re: [Qemu-devel] [PATCH] migration: remove unused field bytes_xfer

2019-06-11 Thread Wei Yang
On Tue, Apr 02, 2019 at 08:31:06AM +0800, Wei Yang wrote: >MigrationState->bytes_xfer is only set to 0 in migrate_init(). > >Remove this unnecessary field. > >Signed-off-by: Wei Yang Hi, David Are you willing to pick up this one? >--- > migration/migration.c | 1 - >

[Qemu-devel] [PATCH 2/2] migration/xbzrle: make xbzrle_encode_buffer little easier to read

2019-06-09 Thread Wei Yang
The encoding process could be described below: for [content] get length of a run encode this run By refactoring the code with this logic, it maybe a little easier to understand. Signed-off-by: Wei Yang --- migration/xbzrle.c | 153

[Qemu-devel] [PATCH 1/2] cutils: remove one unnecessary pointer operation

2019-06-09 Thread Wei Yang
Since we will not operate on the next address pointed by out, it is not necessary to do addition on it. After removing the operation, the function size reduced 16/18 bytes. Signed-off-by: Wei Yang --- util/cutils.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a

[Qemu-devel] [PATCH 0/2] migration/xbzrle: make xbzrle_encode_buffer little easier

2019-06-09 Thread Wei Yang
. Removing this could save some code space. Wei Yang (2): cutils: remove one unnecessary pointer operation migration/xbzrle: make xbzrle_encode_buffer little easier to read migration/xbzrle.c | 153 + util/cutils.c | 8 +-- 2 files changed, 77

[Qemu-devel] [PATCH v7] hw/acpi: extract acpi_add_rom_blob()

2019-06-09 Thread Wei Yang
arm and i386 has almost the same function acpi_add_rom_blob(), except giving different FWCfgCallback function. This patch moves acpi_add_rom_blob() to utils.c by passing FWCfgCallback to it. Signed-off-by: Wei Yang Reviewed-by: Igor Mammedov v7: * rebase on top of current master because of

[Qemu-devel] [PATCH v2] migration/xbzrle: update cache and current_data in one place

2019-06-09 Thread Wei Yang
When we are not in the last_stage, we need to update the cache if page is not the same. Currently this procedure is scattered in two places and mixed with encoding status check. This patch extract this general step out to make the code a little bit easy to read. Signed-off-by: Wei Yang --- v2

Re: [Qemu-devel] [PATCH 2/2] migration/xbzrle: cleanup the handling cache miss condition

2019-06-09 Thread Wei Yang
On Fri, Jun 07, 2019 at 08:01:14PM +0100, Dr. David Alan Gilbert wrote: >* Wei Yang (richardw.y...@linux.intel.com) wrote: >> For cache miss condition not in last_stage, we need to insert data into >> cache. When this step succeed, current_data should be updated. While no >>

Re: [Qemu-devel] [PATCH 1/2] migration/xbzrle: update cache and current_data in one place

2019-06-09 Thread Wei Yang
On Fri, Jun 07, 2019 at 07:57:34PM +0100, Dr. David Alan Gilbert wrote: >* Wei Yang (richardw.y...@linux.intel.com) wrote: >> When we are not in the last_stage, we need to update the cache if page >> is not the same. >> >> Currently this procedure is scattered i

[Qemu-devel] [PATCH 1/6] migration/multifd: move MultiFDSendParams handling into multifd_send_fill_packet()

2019-06-06 Thread Wei Yang
Currently there is only one user of multifd_send_fill_packet(). We enlarge the responsibility of it to adjust MultiFDSendParams. Signed-off-by: Wei Yang --- migration/ram.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/migration/ram.c b/migration/ram.c index

[Qemu-devel] [PATCH 5/6] migration/multifd: use boolean for pending_job is enough

2019-06-06 Thread Wei Yang
After synchronization request is handled in another case, there only could be one pending_job for one send thread at most. This is fine to use boolean to represent this behavior. Signed-off-by: Wei Yang --- migration/ram.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff

[Qemu-devel] [PATCH 0/6] multifd: a new mechanism for send thread sync

2019-06-06 Thread Wei Yang
. Wei Yang (6): migration/multifd: move MultiFDSendParams handling into multifd_send_fill_packet() migration/multifd: notify channels_ready when send thread starts migration/multifd: use sync field to synchronize send threads migration/multifd: used must not be 0 for a pending job

[Qemu-devel] [PATCH 3/6] migration/multifd: use sync field to synchronize send threads

2019-06-06 Thread Wei Yang
Add a field in MultiFDSendParams to indicate there is a request to synchronize send threads. By doing so, send_thread will just post sem_sync on synchronization request and channels_ready will not *overflow*. Signed-off-by: Wei Yang --- migration/ram.c | 30 -- 1

[Qemu-devel] [PATCH 6/6] migration/multifd: there is no spurious wakeup now

2019-06-06 Thread Wei Yang
The spurious wakeup is gone. Signed-off-by: Wei Yang --- migration/ram.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/migration/ram.c b/migration/ram.c index 831b15833b..2490631d52 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -1153,9 +1153,6 @@ static void *multifd_send_thread

[Qemu-devel] [PATCH 4/6] migration/multifd: used must not be 0 for a pending job

2019-06-06 Thread Wei Yang
After thread synchronization request is handled in another case, this means when we only get pending_job when there is used pages. Signed-off-by: Wei Yang --- migration/ram.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/migration/ram.c b/migration/ram.c index

[Qemu-devel] [PATCH 2/6] migration/multifd: notify channels_ready when send thread starts

2019-06-06 Thread Wei Yang
uce some unpredictable situation and disturb the semaphore value. This is a preparation patch to use another mechanism to do send thread synchronization to avoid post channels_ready in this case. So this patch posts channels_ready when send threads start running. Signed-off-by: Wei Y

[Qemu-devel] [PATCH 1/2] migration/xbzrle: update cache and current_data in one place

2019-06-05 Thread Wei Yang
When we are not in the last_stage, we need to update the cache if page is not the same. Currently this procedure is scattered in two places and mixed with encoding status check. This patch extract this general step out to make the code a little bit easy to read. Signed-off-by: Wei Yang

[Qemu-devel] [PATCH 2/2] migration/xbzrle: cleanup the handling cache miss condition

2019-06-05 Thread Wei Yang
For cache miss condition not in last_stage, we need to insert data into cache. When this step succeed, current_data should be updated. While no matter these checks pass or not, -1 is returned. Based on this, the logic in cache miss handling could be simplified a little. Signed-off-by: Wei Yang

[Qemu-devel] [PATCH 0/2] xbzrle: improve readability a little

2019-06-05 Thread Wei Yang
Two trivial patches to make save_xbzrle_page() a little bit easy to understand. Wei Yang (2): migration/xbzrle: update cache and current_data in one place migration/xbzrle: cleanup the handling cache miss condition migration/ram.c | 36 +--- 1 file changed

Re: [Qemu-devel] [PATCH] migratioin/ram.c: reset complete_round when we gets a queued page

2019-06-05 Thread Wei Yang
On Wed, Jun 05, 2019 at 05:38:19PM +0800, Peter Xu wrote: >On Wed, Jun 05, 2019 at 04:52:07PM +0800, Wei Yang wrote: >> On Wed, Jun 05, 2019 at 02:41:08PM +0800, Peter Xu wrote: >> >On Wed, Jun 05, 2019 at 09:08:28AM +0800, Wei Yang wrote: >> >> In case we gets a queu

Re: [Qemu-devel] [PATCH] migratioin/ram.c: reset complete_round when we gets a queued page

2019-06-05 Thread Wei Yang
On Wed, Jun 05, 2019 at 12:33:39PM +0200, Juan Quintela wrote: >Peter Xu wrote: >> On Wed, Jun 05, 2019 at 04:52:07PM +0800, Wei Yang wrote: >>> On Wed, Jun 05, 2019 at 02:41:08PM +0800, Peter Xu wrote: >>> >On Wed, Jun 05, 2019 at 09:08:28AM +0800, Wei Yang wrote: &

Re: [Qemu-devel] [PATCH] migratioin/ram.c: reset complete_round when we gets a queued page

2019-06-05 Thread Wei Yang
On Wed, Jun 05, 2019 at 02:27:11PM +0200, Philippe Mathieu-Daud?? wrote: >migratioin -> migration Ah... I should take an English lesson... Thanks -- Wei Yang Help you, Help me

Re: [Qemu-devel] [PULL 5/5] migratioin/ram: leave RAMBlock->bmap blank on allocating

2019-06-05 Thread Wei Yang
On Wed, Jun 05, 2019 at 01:53:18PM +0200, Juan Quintela wrote: >From: Wei Yang > >During migration, we would sync bitmap from ram_list.dirty_memory to >RAMBlock.bmap in cpu_physical_memory_sync_dirty_bitmap(). > >Since we set RAMBlock.bmap and ram_list.dirty_memory both to all

Re: [Qemu-devel] [PULL 5/5] migratioin/ram: leave RAMBlock->bmap blank on allocating

2019-06-05 Thread Wei Yang
On Wed, Jun 05, 2019 at 02:26:52PM +0200, Philippe Mathieu-Daud?? wrote: >migratioin -> migration Ah, you are right. -- Wei Yang Help you, Help me

Re: [Qemu-devel] [PATCH] migration/multifd: sync packet_num after all thread are done

2019-06-05 Thread Wei Yang
On Wed, Jun 05, 2019 at 12:39:06PM +0200, Juan Quintela wrote: >Wei Yang wrote: >> Notification from recv thread is not ordered, which means we may be >> notified by one MultiFDRecvParams but adjust packet_num for another. >> >> Move the adjustment after we are sure e

Re: [Qemu-devel] [PATCH] migratioin/ram.c: reset complete_round when we gets a queued page

2019-06-05 Thread Wei Yang
On Wed, Jun 05, 2019 at 02:41:08PM +0800, Peter Xu wrote: >On Wed, Jun 05, 2019 at 09:08:28AM +0800, Wei Yang wrote: >> In case we gets a queued page, the order of block is interrupted. We may >> not rely on the complete_round flag to say we have already searched the >> who

[Qemu-devel] [PATCH] migratioin/ram.c: reset complete_round when we gets a queued page

2019-06-04 Thread Wei Yang
In case we gets a queued page, the order of block is interrupted. We may not rely on the complete_round flag to say we have already searched the whole blocks on the list. Signed-off-by: Wei Yang --- migration/ram.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/migration/ram.c b

Re: [Qemu-devel] [PATCH v3] migratioin/ram: leave RAMBlock->bmap blank on allocating

2019-06-04 Thread Wei Yang
On Tue, Jun 04, 2019 at 03:06:14PM +0800, Peter Xu wrote: >On Tue, Jun 04, 2019 at 02:17:27PM +0800, Wei Yang wrote: >> During migration, we would sync bitmap from ram_list.dirty_memory to >> RAMBlock.bmap in cpu_physical_memory_sync_dirty_bitmap(). >> >> Sin

[Qemu-devel] [PATCH v3] migratioin/ram: leave RAMBlock->bmap blank on allocating

2019-06-03 Thread Wei Yang
->bmap blank on allocating would have a side effect on migration_dirty_pages, since it is calculated from the result of cpu_physical_memory_sync_dirty_bitmap(). To keep it right, we need to set migration_dirty_pages to 0 in ram_state_init(). Signed-off-by: Wei Yang Reviewed-by: Dr. David Alan Gilb

Re: [Qemu-devel] [PATCH v2] migratioin/ram: leave RAMBlock->bmap blank on allocating

2019-06-03 Thread Wei Yang
On Tue, Jun 04, 2019 at 11:51:24AM +0800, Peter Xu wrote: >On Tue, Jun 04, 2019 at 08:28:10AM +0800, Wei Yang wrote: >> During migration, we would sync bitmap from ram_list.dirty_memory to >> RAMBlock.bmap in cpu_physical_memory_sync_dirty_bitmap(). >> >> Sin

[Qemu-devel] [PATCH] migration/multifd: sync packet_num after all thread are done

2019-06-03 Thread Wei Yang
Notification from recv thread is not ordered, which means we may be notified by one MultiFDRecvParams but adjust packet_num for another. Move the adjustment after we are sure each recv thread are sync-ed. Signed-off-by: Wei Yang --- migration/ram.c | 8 1 file changed, 4 insertions

Re: [Qemu-devel] [PATCH 0/4] Multifd Cleanup

2019-06-03 Thread Wei Yang
Hi, David Do you prefer I resend 3/4 or it is ok for you to pick up here directly? On Tue, May 28, 2019 at 09:46:59AM +0800, Wei Yang wrote: >Just found several small places for unused variables. > >Wei Yang (4): > migration: multifd_save_setup always return 0 > migration/ram.c

[Qemu-devel] [PATCH v2] migratioin/ram: leave RAMBlock->bmap blank on allocating

2019-06-03 Thread Wei Yang
->bmap blank on allocating would have a side effect on migration_dirty_pages, since it is calculated from the result of cpu_physical_memory_sync_dirty_bitmap(). To keep it right, we need to set migration_dirty_pages to 0 in ram_state_init(). Signed-off-by: Wei Yang Reviewed-by: Dr. David Alan Gilb

Re: [Qemu-devel] [PATCH] migratioin/ram: leave RAMBlock->bmap blank on allocating

2019-06-02 Thread Wei Yang
On Mon, Jun 03, 2019 at 02:05:47PM +0800, Wei Yang wrote: >On Mon, Jun 03, 2019 at 01:40:13PM +0800, Peter Xu wrote: >> >>Ah I see, thanks for the pointer. Then I would agree it's fine. >> >>I'm not an expert of TCG - I'm curious on why all those three

Re: [Qemu-devel] [RFC PATCH 0/9] hw/acpi: make build_madt arch agnostic

2019-06-02 Thread Wei Yang
Igor, Do you have some spare time to take a look the general idea? On Mon, May 13, 2019 at 02:19:04PM +0800, Wei Yang wrote: >Now MADT is highly depend in architecture and machine type and leaves >duplicated code in different architecture. The series here tries to generalize >it

Re: [Qemu-devel] [PATCH] migratioin/ram: leave RAMBlock->bmap blank on allocating

2019-06-02 Thread Wei Yang
we'll sooner or later copy all 1s from the ramblock bitmap > >(2) imho you can move "migration_dirty_pages = 0" into > ram_list_init_bitmaps() too to let them be together > I will address these two comments and send v2. Thanks. >-- >Peter Xu -- Wei Yang Help you, Help me

Re: [Qemu-devel] [PATCH] migratioin/ram: leave RAMBlock->bmap blank on allocating

2019-06-02 Thread Wei Yang
On Mon, Jun 03, 2019 at 10:35:27AM +0800, Peter Xu wrote: >On Mon, Jun 03, 2019 at 09:33:05AM +0800, Wei Yang wrote: >> On Sat, Jun 01, 2019 at 11:34:41AM +0800, Peter Xu wrote: >> >On Fri, May 31, 2019 at 05:43:37PM +0100, Dr. David Alan Gilbert wrote: >> &

Re: [Qemu-devel] [PATCH] migratioin/ram: leave RAMBlock->bmap blank on allocating

2019-06-02 Thread Wei Yang
On Sat, Jun 01, 2019 at 11:34:41AM +0800, Peter Xu wrote: >On Fri, May 31, 2019 at 05:43:37PM +0100, Dr. David Alan Gilbert wrote: >> * Wei Yang (richardw.y...@linux.intel.com) wrote: >> > During migration, we would sync bitmap from ram_list.dirty_memory to >

Re: [Qemu-devel] [PATCH 2/3] migration/ram.c: start of cpu_physical_memory_sync_dirty_bitmap is always 0

2019-05-30 Thread Wei Yang
On Tue, May 14, 2019 at 03:21:08PM +0100, Dr. David Alan Gilbert wrote: >* Wei Yang (richardw.y...@linux.intel.com) wrote: >> Since start of cpu_physical_memory_sync_dirty_bitmap is always 0, we can >> remove this parameter and simplify the calculation a bit. >> >> Sig

Re: [Qemu-devel] [PATCH] hw/i386/pc: check apci hotplug capability before nvdimm's

2019-05-29 Thread Wei Yang
On Wed, May 29, 2019 at 10:57:50AM +0200, Igor Mammedov wrote: >On Wed, 29 May 2019 08:32:14 +0800 >Wei Yang wrote: > >> On Tue, May 28, 2019 at 02:26:27PM +0200, Igor Mammedov wrote: >> >On Tue, 28 May 2019 09:35:48 +0800 >> >Wei Yang wrote: >> > >

Re: [Qemu-devel] [PATCH v6] hw/acpi: extract acpi_add_rom_blob()

2019-05-29 Thread Wei Yang
On Tue, May 28, 2019 at 11:01:32PM -0400, Michael S. Tsirkin wrote: >On Tue, Mar 26, 2019 at 10:43:20AM +0800, Wei Yang wrote: >> arm and i386 has almost the same function acpi_add_rom_blob(), except >> giving different FWCfgCallback function. >> >> This patch moves acp

Re: [Qemu-devel] [PATCH 3/4] migration/ram.c: MultiFDSendParams.sem_sync is not really used

2019-05-28 Thread Wei Yang
On Tue, May 28, 2019 at 10:16:06AM +0200, Juan Quintela wrote: >Wei Yang wrote: >> Besides init and destroy, MultiFDSendParams.sem_sync is not really used. >> >> Signed-off-by: Wei Yang > >Reviewed-by: Juan Quintela > >I mad SendParamas and RecvParams identi

Re: [Qemu-devel] [PATCH 2/4] migration/ram.c: use same type in MultiFDPages_t to define offsest

2019-05-28 Thread Wei Yang
On Tue, May 28, 2019 at 10:12:39AM +0200, Juan Quintela wrote: >Wei Yang wrote: >> MultiFDPacket_t.offset is allocated to store MultiFDPages_t.offset. >> >> It would be better to use the same type. >> >> Signed-off-by: Wei Yang >> --- >> migration

Re: [Qemu-devel] [PATCH 1/4] migration: multifd_save_setup always return 0

2019-05-28 Thread Wei Yang
On Tue, May 28, 2019 at 10:11:11AM +0200, Juan Quintela wrote: >Wei Yang wrote: >> Signed-off-by: Wei Yang >> --- >> migration/migration.c | 7 +-- >> 1 file changed, 1 insertion(+), 6 deletions(-) >> >> diff --git a/migration/migration.c b/mi

Re: [Qemu-devel] [PATCH] hw/i386/pc: check apci hotplug capability before nvdimm's

2019-05-28 Thread Wei Yang
On Tue, May 28, 2019 at 02:26:27PM +0200, Igor Mammedov wrote: >On Tue, 28 May 2019 09:35:48 +0800 >Wei Yang wrote: > >> On Mon, May 27, 2019 at 02:21:14PM +0200, Igor Mammedov wrote: >> >On Thu, 11 Apr 2019 15:17:39 +0800 >> >Wei Yang wrote: >> > &

[Qemu-devel] [PATCH 4/4] migration/ram.c: multifd_send_state->count is not really used

2019-05-27 Thread Wei Yang
Signed-off-by: Wei Yang --- migration/ram.c | 5 - 1 file changed, 5 deletions(-) diff --git a/migration/ram.c b/migration/ram.c index 5d31f7bd4c..c9a9f7489b 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -892,8 +892,6 @@ static int multifd_recv_unfill_packet(MultiFDRecvParams *p

[Qemu-devel] [PATCH 3/4] migration/ram.c: MultiFDSendParams.sem_sync is not really used

2019-05-27 Thread Wei Yang
Besides init and destroy, MultiFDSendParams.sem_sync is not really used. Signed-off-by: Wei Yang --- migration/ram.c | 4 1 file changed, 4 deletions(-) diff --git a/migration/ram.c b/migration/ram.c index dcf4c54eb5..5d31f7bd4c 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -661,8

[Qemu-devel] [PATCH 2/4] migration/ram.c: use same type in MultiFDPages_t to define offsest

2019-05-27 Thread Wei Yang
MultiFDPacket_t.offset is allocated to store MultiFDPages_t.offset. It would be better to use the same type. Signed-off-by: Wei Yang --- migration/ram.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/ram.c b/migration/ram.c index 4c60869226..dcf4c54eb5 100644

[Qemu-devel] [PATCH 1/4] migration: multifd_save_setup always return 0

2019-05-27 Thread Wei Yang
Signed-off-by: Wei Yang --- migration/migration.c | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index d0a0f68f11..3aae4f2734 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -3336,12 +3336,7 @@ void

[Qemu-devel] [PATCH 0/4] Multifd Cleanup

2019-05-27 Thread Wei Yang
Just found several small places for unused variables. Wei Yang (4): migration: multifd_save_setup always return 0 migration/ram.c: use same type in MultiFDPages_t to define offsest migration/ram.c: MultiFDSendParams.sem_sync is not really used migration/ram.c: multifd_send_state->count

Re: [Qemu-devel] [PATCH] hw/i386/pc: check apci hotplug capability before nvdimm's

2019-05-27 Thread Wei Yang
On Mon, May 27, 2019 at 02:21:14PM +0200, Igor Mammedov wrote: >On Thu, 11 Apr 2019 15:17:39 +0800 >Wei Yang wrote: > >> pc_memory_pre_plug() is called during hotplug for both pc-dimm and >> nvdimm. This is more proper to check apci hotplug capability before >> check

Re: [Qemu-devel] [PATCH v6] hw/acpi: extract acpi_add_rom_blob()

2019-05-27 Thread Wei Yang
On Mon, May 27, 2019 at 10:41:57AM -0400, Michael S. Tsirkin wrote: >On Mon, May 27, 2019 at 10:34:23AM +0800, Wei Yang wrote: >> On Tue, Mar 26, 2019 at 10:43:20AM +0800, Wei Yang wrote: >> >arm and i386 has almost the same function acpi_add_rom_blob(), except >> >giv

Re: [Qemu-devel] [PATCH v6] hw/acpi: extract acpi_add_rom_blob()

2019-05-26 Thread Wei Yang
On Tue, Mar 26, 2019 at 10:43:20AM +0800, Wei Yang wrote: >arm and i386 has almost the same function acpi_add_rom_blob(), except >giving different FWCfgCallback function. > >This patch moves acpi_add_rom_blob() to utils.c by passing >FWCfgCallback to it. > >Signed-off-by: W

Re: [Qemu-devel] [PATCH] hw/i386/pc: check apci hotplug capability before nvdimm's

2019-05-26 Thread Wei Yang
On Thu, Apr 11, 2019 at 10:32:39AM +0200, Thomas Huth wrote: >On 11/04/2019 09.17, Wei Yang wrote: >> pc_memory_pre_plug() is called during hotplug for both pc-dimm and >> nvdimm. This is more proper to check apci hotplug capability before >> check nvdimm specific capability.

Re: [Qemu-devel] [PATCH] Makefile: simplify qapi-py definition with wildcard

2019-05-21 Thread Wei Yang
On Tue, May 21, 2019 at 08:36:42PM -0500, Eric Blake wrote: >On 5/21/19 7:53 PM, Wei Yang wrote: >> On Tue, May 21, 2019 at 05:28:27PM +0200, Markus Armbruster wrote: >>> Eric Blake writes: >>> >>>> On 5/21/19 3:12 AM, Wei Yang wrote: >>>>

Re: [Qemu-devel] [PATCH] Makefile: simplify qapi-py definition with wildcard

2019-05-21 Thread Wei Yang
On Tue, May 21, 2019 at 05:28:27PM +0200, Markus Armbruster wrote: >Eric Blake writes: > >> On 5/21/19 3:12 AM, Wei Yang wrote: >>> All the python script in scripts/qapi is used to generate qapi code. Use >>> wildcard to simplify it. >>> >>> Si

Re: [Qemu-devel] [PATCH] Makefile: simplify qapi-py definition with wildcard

2019-05-21 Thread Wei Yang
On Tue, May 21, 2019 at 07:00:12AM -0500, Eric Blake wrote: >On 5/21/19 3:12 AM, Wei Yang wrote: >> All the python script in scripts/qapi is used to generate qapi code. Use >> wildcard to simplify it. >> >> Signed-off-by: Wei Yang >> --- >> Makefile | 8 +

[Qemu-devel] [PATCH] Makefile: simplify qapi-py definition with wildcard

2019-05-21 Thread Wei Yang
All the python script in scripts/qapi is used to generate qapi code. Use wildcard to simplify it. Signed-off-by: Wei Yang --- Makefile | 8 +--- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 155f066a20..38b74782d9 100644 --- a/Makefile +++ b/Makefile

[Qemu-devel] [PATCH v6 2/2] acpi: pci: use build_append_foo() API to construct MCFG

2019-05-20 Thread Wei Yang
build_append_foo() API doesn't need explicit endianness conversions which eliminates a source of errors and it makes build_mcfg() look like declarative definition of MCFG table in ACPI spec, which makes it easy to review. Signed-off-by: Wei Yang Suggested-by: Igor Mammedov Reviewed-by:

[Qemu-devel] [PATCH v6 1/2] hw/acpi: Consolidate build_mcfg to pci.c

2019-05-20 Thread Wei Yang
Now we have two identical build_mcfg functions. Consolidate them in acpi/pci.c. Signed-off-by: Wei Yang v4: * ACPI_PCI depends on both ACPI and PCI * rebase on latest master, adjust arm Kconfig v3: * adjust changelog based on Igor's suggestion --- default-configs/i386-softmmu.mak

[Qemu-devel] [PATCH v6 0/2] Extract build_mcfg Part 2

2019-05-20 Thread Wei Yang
PCI * rebase on latest master, adjust arm Kconfig * miss the reserved[8] of MCFG, add it back * make sure bios-tables-test all OK Wei Yang (2): hw/acpi: Consolidate build_mcfg to pci.c acpi: pci: use build_append_foo() API to construct MCFG default-configs/i386-softmmu.mak | 1 + hw/a

Re: [Qemu-devel] [PATCH v5 2/2] acpi: pci: use build_append_foo() API to construct MCFG

2019-05-20 Thread Wei Yang
On Mon, May 20, 2019 at 11:44:28PM -0400, Michael S. Tsirkin wrote: >On Tue, May 21, 2019 at 11:32:49AM +0800, Wei Yang wrote: >> build_append_foo() API doesn't need explicit endianness conversions >> which eliminates a source of errors and it makes build_mcfg() look like >&

[Qemu-devel] [PATCH v5 2/2] acpi: pci: use build_append_foo() API to construct MCFG

2019-05-20 Thread Wei Yang
build_append_foo() API doesn't need explicit endianness conversions which eliminates a source of errors and it makes build_mcfg() look like declarative definition of MCFG table in ACPI spec, which makes it easy to review. Signed-off-by: Wei Yang Suggested-by: Igor Mammedov Reviewed-by:

[Qemu-devel] [PATCH v5 1/2] hw/acpi: Consolidate build_mcfg to pci.c

2019-05-20 Thread Wei Yang
Now we have two identical build_mcfg functions. Consolidate them in acpi/pci.c. Signed-off-by: Wei Yang --- v5: * ACPI_PCI depends on both ACPI and PCI * rebase on latest master, adjust arm Kconfig v3: * adjust changelog based on Igor's suggestion --- default-configs/i386-softmm

[Qemu-devel] [PATCH v5 0/2] Extract build_mcfg Part 2

2019-05-20 Thread Wei Yang
PCI * rebase on latest master, adjust arm Kconfig * miss the reserved[8] of MCFG, add it back * make sure bios-tables-test all OK Wei Yang (2): hw/acpi: Consolidate build_mcfg to pci.c acpi: pci: use build_append_foo() API to construct MCFG default-configs/i386-softmmu.mak | 1 + hw/a

Re: [Qemu-devel] [PATCH v5 0/6] Extract build_mcfg

2019-05-20 Thread Wei Yang
On Mon, May 20, 2019 at 06:55:53PM -0400, Michael S. Tsirkin wrote: >On Mon, May 20, 2019 at 08:59:51AM +0800, Wei Yang wrote: >> This patch set tries to generalize MCFG table build process. And it is >> based on one un-merged patch from Igor, which is included in this serials

Re: [Qemu-devel] [PATCH v3 8/8] multifd: rest of zlib compression

2019-05-20 Thread Wei Yang
e a global variable in each thread is not a good idea. This would be better to use an array to assign ops instead of *if*. In case you would have several compress methods, the code would be difficult to read. > > while (true) { > qemu_sem_wait(&p->sem); >@@ -1399,7 +1497,11 @@ static void *multifd_recv_thread(void *opaque) > trace_multifd_recv_thread_start(p->id); > rcu_register_thread(); > >-multifd_recv_state->ops = &multifd_none_ops; >+if (migrate_use_multifd_zlib()) { >+multifd_recv_state->ops = &multifd_zlib_ops; >+} else { >+multifd_recv_state->ops = &multifd_none_ops; >+} > while (true) { > uint32_t used; > uint32_t flags; >-- >2.21.0 > -- Wei Yang Help you, Help me

Re: [Qemu-devel] [PATCH v3 7/8] multifd: Add zlib compression support

2019-05-20 Thread Wei Yang
#x27;: 'MultifdCompress', >- 'data': [ 'none' ] } >+ 'data': [ 'none', 'zlib' ] } > > ## > # @MigrationParameter: >diff --git a/tests/migration-test.c b/tests/migration-test.c >index 8a1ccc2516..2dd4d4c5b4 100644 >--- a/tests/migration-test.c >+++ b/tests/migration-test.c >@@ -1119,6 +1119,11 @@ static void test_multifd_tcp_none(void) > test_multifd_tcp("none"); > } > >+static void test_multifd_tcp_zlib(void) >+{ >+test_multifd_tcp("zlib"); >+} >+ > int main(int argc, char **argv) > { > char template[] = "/tmp/migration-test-XX"; >@@ -1174,6 +1179,7 @@ int main(int argc, char **argv) > /* qtest_add_func("/migration/ignore_shared", test_ignore_shared); */ > qtest_add_func("/migration/xbzrle/unix", test_xbzrle_unix); > qtest_add_func("/migration/multifd/tcp/none", test_multifd_tcp_none); >+qtest_add_func("/migration/multifd/tcp/zlib", test_multifd_tcp_zlib); Actually zlib is not enabled at this moment, the test here may not touch the real functionality. > > ret = g_test_run(); > >-- >2.21.0 > -- Wei Yang Help you, Help me

Re: [Qemu-devel] [PATCH v3 6/8] migration: Make none operations into its own structure

2019-05-20 Thread Wei Yang
32_t flags; >@@ -1353,8 +1398,7 @@ static void *multifd_recv_thread(void *opaque) > qemu_mutex_unlock(&p->mutex); > > if (used) { >-ret = qio_channel_readv_all(p->c, p->pages->iov, >-used, &local_err); >+ret = multifd_recv_state->ops->recv_pages(p, used, &local_err); > if (ret != 0) { > break; > } >-- >2.21.0 > -- Wei Yang Help you, Help me

Re: [Qemu-devel] [PATCH v3 5/8] migration: Add multifd-compress parameter

2019-05-20 Thread Wei Yang
meters: >@@ -817,6 +837,9 @@ > #Defaults to 99. > # (Since 3.1) > # >+# @multifd-compress: Which compression method to use. >+#Defaults to none. (Since 4.1) >+# > # Since: 2.4 > ## > { 'struct': 'MigrationParameters', >@@ -840,7 +863,8 @@ > '*multifd-channels': 'uint8', > '*xbzrle-cache-size': 'size', > '*max-postcopy-bandwidth': 'size', >-'*max-cpu-throttle':'uint8'} } >+'*max-cpu-throttle': 'uint8', >+'*multifd-compress': 'MultifdCompress' } } > > ## > # @query-migrate-parameters: -- Wei Yang Help you, Help me

Re: [Qemu-devel] [PATCH v3 5/8] migration: Add multifd-compress parameter

2019-05-20 Thread Wei Yang
sit_type_MultifdCompress(v, param, &compress_type, &err); >+if (err) { >+ break; >+} >+if (compress_type < 0 || compress_type >= MULTIFD_COMPRESS__MAX) { A warning during build: hmp.c:1835:27: warning: comparison of unsigned enum expression < 0 is always false [-Wtautological-compare] if (compress_type < 0 || compress_type >= MULTIFD_COMPRESS__MAX) { -- Wei Yang Help you, Help me

Re: [Qemu-devel] [PATCH v3 5/8] migration: Add multifd-compress parameter

2019-05-20 Thread Wei Yang
tests/migration-test.c b/tests/migration-test.c >index 65d5e256a7..8a1ccc2516 100644 >--- a/tests/migration-test.c >+++ b/tests/migration-test.c Well, may I suggest to split the test into another one? >@@ -449,7 +449,6 @@ static void migrate_check_parameter_str(QTestState *who, >const char *parameter, > g_free(result); > } > >-__attribute__((unused)) > static void migrate_set_parameter_str(QTestState *who, const char *parameter, > const char *value) > { >@@ -1065,7 +1064,7 @@ static void test_precopy_tcp(void) > g_free(uri); > } > >-static void test_multifd_tcp(void) >+static void test_multifd_tcp(const char *method) > { > char *uri; > QTestState *from, *to; >@@ -1087,6 +1086,9 @@ static void test_multifd_tcp(void) > migrate_set_parameter_int(from, "multifd-channels", 2); > migrate_set_parameter_int(to, "multifd-channels", 2); > >+migrate_set_parameter_str(from, "multifd-compress", method); >+migrate_set_parameter_str(to, "multifd-compress", method); >+ > migrate_set_capability(from, "multifd", "true"); > migrate_set_capability(to, "multifd", "true"); > /* Wait for the first serial output from the source */ >@@ -1112,6 +1114,11 @@ static void test_multifd_tcp(void) > test_migrate_end(from, to, true); > } > >+static void test_multifd_tcp_none(void) >+{ >+test_multifd_tcp("none"); >+} >+ > int main(int argc, char **argv) > { > char template[] = "/tmp/migration-test-XX"; >@@ -1166,7 +1173,7 @@ int main(int argc, char **argv) > qtest_add_func("/migration/precopy/tcp", test_precopy_tcp); > /* qtest_add_func("/migration/ignore_shared", test_ignore_shared); */ > qtest_add_func("/migration/xbzrle/unix", test_xbzrle_unix); >-qtest_add_func("/migration/multifd/tcp", test_multifd_tcp); >+qtest_add_func("/migration/multifd/tcp/none", test_multifd_tcp_none); > > ret = g_test_run(); > >-- >2.21.0 > -- Wei Yang Help you, Help me

Re: [Qemu-devel] [PATCH v3 3/8] tests: Add migration multifd test

2019-05-19 Thread Wei Yang
dress"); >+ >+migrate(from, uri, "{}"); >+ >+wait_for_migration_pass(from); >+ >+/* 300ms it should converge */ >+migrate_set_parameter_int(from, "downtime-limit", 600); >+ >+if (!got_stop) { >+qtest_qmp_eventwait(from, "STOP"

Re: [Qemu-devel] [PATCH v3 2/8] migration-test: rename parameter to parameter_int

2019-05-19 Thread Wei Yang
On Wed, May 15, 2019 at 02:15:38PM +0200, Juan Quintela wrote: >We would need _str ones on the next patch. > >Signed-off-by: Juan Quintela Reviewed-by: Wei Yang >--- > tests/migration-test.c | 49 +- > 1 file changed, 25 insertion

Re: [Qemu-devel] [PATCH v3 1/8] migration: fix multifd_recv event typo

2019-05-19 Thread Wei Yang
On Wed, May 15, 2019 at 02:15:37PM +0200, Juan Quintela wrote: >It uses num in multifd_send(). Make it coherent. > >Signed-off-by: Juan Quintela Reviewed-by: Wei Yang >--- > migration/trace-events | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/

Re: [Qemu-devel] [PATCH v3 0/8] WIP: Multifd compression support

2019-05-19 Thread Wei Yang
t;- Parameter is now an enum (soon will see sztd) ^^^ > -- Wei Yang Help you, Help me

Re: [Qemu-devel] [PATCH v5 5/6] hw/acpi: Consolidate build_mcfg to pci.c

2019-05-19 Thread Wei Yang
On Mon, May 20, 2019 at 08:59:56AM +0800, Wei Yang wrote: >Now we have two identical build_mcfg functions. > >Consolidate them in acpi/pci.c. > >Signed-off-by: Wei Yang >Reviewed-by: Philippe Mathieu-Daudé >Reviewed-by: Igor Mammedov Oops, I should drop these SOB. >

Re: [Qemu-devel] [PATCH v3 3/8] tests: Add migration multifd test

2019-05-19 Thread Wei Yang
gt;+ >+test_migrate_end(from, to, true); >+} >+ > int main(int argc, char **argv) > { > char template[] = "/tmp/migration-test-XX"; >@@ -1082,6 +1129,7 @@ int main(int argc, char **argv) > qtest_add_func("/migration/precopy/tcp", test_precopy_tcp); > /* qtest_add_func("/migration/ignore_shared", test_ignore_shared); */ > qtest_add_func("/migration/xbzrle/unix", test_xbzrle_unix); >+qtest_add_func("/migration/multifd/tcp", test_multifd_tcp); > > ret = g_test_run(); > >-- >2.21.0 > -- Wei Yang Help you, Help me

[Qemu-devel] [PATCH v5 5/6] hw/acpi: Consolidate build_mcfg to pci.c

2019-05-19 Thread Wei Yang
Now we have two identical build_mcfg functions. Consolidate them in acpi/pci.c. Signed-off-by: Wei Yang Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Igor Mammedov --- v4: * ACPI_PCI depends on both ACPI and PCI * rebase on latest master, adjust arm Kconfig v3: * adjust changelog

[Qemu-devel] [PATCH v5 3/6] i386, acpi: remove mcfg_ prefix in AcpiMcfgInfo members

2019-05-19 Thread Wei Yang
This is obvious the member in AcpiMcfgInfo describe MCFG's property. Remove the mcfg_ prefix. Signed-off-by: Wei Yang Suggested-by: Igor Mammedov Reviewed-by: Igor Mammedov Reviewed-by: Philippe Mathieu-Daudé --- hw/i386/acpi-build.c | 14 +++--- 1 file changed, 7 insertions(

[Qemu-devel] [PATCH v5 4/6] hw/arm/virt-acpi-build: pass AcpiMcfgInfo to build_mcfg()

2019-05-19 Thread Wei Yang
To build MCFG, two information is necessary: * bus number * base address Abstract these two information to AcpiMcfgInfo so that build_mcfg and build_mcfg_q35 will have the same declaration. Signed-off-by: Wei Yang Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Igor Mammedov --- v4

[Qemu-devel] [PATCH v5 6/6] acpi: pci: use build_append_foo() API to construct MCFG

2019-05-19 Thread Wei Yang
build_append_foo() API doesn't need explicit endianness conversions which eliminates a source of errors and it makes build_mcfg() look like declarative definition of MCFG table in ACPI spec, which makes it easy to review. Signed-off-by: Wei Yang Suggested-by: Igor Mammedov Reviewed-by:

[Qemu-devel] [PATCH v5 1/6] q35: acpi: do not create dummy MCFG table

2019-05-19 Thread Wei Yang
g cross version migration in both directions unconditionally. Signed-off-by: Igor Mammedov Signed-off-by: Wei Yang Reviewed-by: Philippe Mathieu-Daudé --- hw/i386/acpi-build.c | 18 -- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acp

[Qemu-devel] [PATCH v5 2/6] hw/arm/virt-acpi-build: remove unnecessary variable mcfg_start

2019-05-19 Thread Wei Yang
mcfg_start points to the start of MCFG table and is used in build_header. While this information could be derived from mcfg. This patch removes the unnecessary variable mcfg_start. Signed-off-by: Wei Yang Reviewed-by: Igor Mammedov Reviewed-by: Philippe Mathieu-Daudé --- hw/arm/virt-acpi

[Qemu-devel] [PATCH v5 0/6] Extract build_mcfg

2019-05-19 Thread Wei Yang
ack * make sure bios-tables-test all OK v3->v4: * adjust comment to give more information about MCFG table v2->v3: * Includes the un-merged patch from Igor * use build_append_foo() API to construct MCFG Igor Mammedov (1): q35: acpi: do not create dummy MCFG table Wei Yang

Re: [Qemu-devel] [PATCH] hw/acpi: ACPI_PCI should depends on both ACPI and PCI

2019-05-19 Thread Wei Yang
On Fri, May 17, 2019 at 04:29:03PM +0200, Igor Mammedov wrote: >On Fri, 17 May 2019 12:59:57 +0000 >Wei Yang wrote: > >> On Fri, May 17, 2019 at 01:11:16PM +0200, Igor Mammedov wrote: >> >On Fri, 17 May 2019 08:51:14 +0800 >> >Wei Yang wrote: >> >

Re: [Qemu-devel] [PULL 00/37] pci, pc, virtio: features, fixes

2019-05-19 Thread Wei Yang
On Fri, May 17, 2019 at 01:13:15PM +0200, Igor Mammedov wrote: >On Fri, 17 May 2019 10:59:03 +0800 >Wei Yang wrote: > [..] >> >> Well, I hope this will not block the merge. >> >> I took a look in the change of default-configs/arm-softmmu.mak. The general >

Re: [Qemu-devel] [PATCH] hw/acpi: ACPI_PCI should depends on both ACPI and PCI

2019-05-17 Thread Wei Yang
On Fri, May 17, 2019 at 01:11:16PM +0200, Igor Mammedov wrote: >On Fri, 17 May 2019 08:51:14 +0800 >Wei Yang wrote: > >> Pointed out by Philippe Mathieu-Daud?? . >> >> Signed-off-by: Wei Yang >> --- >> hw/acpi/Kconfig | 2 +- >> 1 file changed, 1 in

Re: [Qemu-devel] [PULL 00/37] pci, pc, virtio: features, fixes

2019-05-17 Thread Wei Yang
On Fri, May 17, 2019 at 10:14:11AM +0200, Philippe Mathieu-Daudé wrote: >On 5/17/19 5:12 AM, Wei Yang wrote: >> On Fri, May 17, 2019 at 10:59:03AM +0800, Wei Yang wrote: >>> On Thu, May 16, 2019 at 08:53:04PM +0200, Philippe Mathieu-Daudé wrote: >>>> On Thu, Ma

Re: [Qemu-devel] [PULL 00/37] pci, pc, virtio: features, fixes

2019-05-16 Thread Wei Yang
On Fri, May 17, 2019 at 10:59:03AM +0800, Wei Yang wrote: >On Thu, May 16, 2019 at 08:53:04PM +0200, Philippe Mathieu-Daudé wrote: >>On Thu, May 16, 2019 at 8:33 PM Philippe Mathieu-Daudé >> wrote: >>> On 5/16/19 6:04 PM, Peter Maydell wrote: >>> > On Thu, 16 M

Re: [Qemu-devel] [PULL 00/37] pci, pc, virtio: features, fixes

2019-05-16 Thread Wei Yang
block the merge. I took a look in the change of default-configs/arm-softmmu.mak. The general idea from Thomas is put those hard-coded config to Kconfig. This is fine and what I need to change in my patch is to select ACPI_PCI in the proper place, if my understanding is correct. Two things I need to fix: * add select ACPI_PCI in proper place of hw/arm/Kconfig * add a dummy build_mcfg() for link when ACPI_PCI is not configured. Then I have two questions: * In hw/arm/Kconfig, I don't see one option contains both PCI and ACPI. I am confused where to put the select. * put dummy build_mcfg() in aml-build.c works. Igor, do you like this? Or you haver other preference? >Sadly both series clash :( > >Regards, > >Phil. -- Wei Yang Help you, Help me

Re: [Qemu-devel] [PULL 00/37] pci, pc, virtio: features, fixes

2019-05-16 Thread Wei Yang
t;- keep default-configs/arm-softmmu.mak from master: > > git checkout origin/master default-configs/arm-softmmu.mak > >- applied the following !fixup snippet: > >-- >8 -- >--- a/hw/acpi/Kconfig >+++ b/hw/acpi/Kconfig >@@ -25,7 +25,7 @@ config ACPI_NVDIMM > > config ACPI_PCI > bool >-depends on ACPI >+depends on ACPI && PCI Take a look into hw/arm/Kconfig. Only ARM_VIRT selects ACPI, but this one doesn't select PCI. Which option on arm select both? > >--- > >I felt it easier to review on top of "hw/acpi: Improve build modularity" >https://lists.gnu.org/archive/html/qemu-devel/2019-04/msg04718.html > >Sadly both series clash :( > >Regards, > >Phil. -- Wei Yang Help you, Help me

[Qemu-devel] [PATCH] hw/acpi: ACPI_PCI should depends on both ACPI and PCI

2019-05-16 Thread Wei Yang
Pointed out by Philippe Mathieu-Daudé . Signed-off-by: Wei Yang --- hw/acpi/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/acpi/Kconfig b/hw/acpi/Kconfig index 7265843cc3..7c59cf900b 100644 --- a/hw/acpi/Kconfig +++ b/hw/acpi/Kconfig @@ -25,7 +25,7 @@ config

[Qemu-devel] [PATCH v2] acpi: pci: use build_append_foo() API to construct MCFG

2019-05-16 Thread Wei Yang
build_append_foo() API doesn't need explicit endianness conversions which eliminates a source of errors and it makes build_mcfg() look like declarative definition of MCFG table in ACPI spec, which makes it easy to review. Signed-off-by: Wei Yang Suggested-by: Igor Mammedov --- v2: *

Re: [Qemu-devel] [PATCH v4 5/6] hw/acpi: Consolidate build_mcfg to pci.c

2019-05-16 Thread Wei Yang
On Thu, May 16, 2019 at 08:35:43PM +0200, Philippe Mathieu-Daudé wrote: >On 4/19/19 2:30 AM, Wei Yang wrote: >> Now we have two identical build_mcfg functions. >> >> Consolidate them in acpi/pci.c. >> >> Signed-off-by: Wei Yang >> Reviewed-by: Phili

Re: [Qemu-devel] [PATCH v4 6/6] acpi: pci: use build_append_foo() API to construct MCFG

2019-05-16 Thread Wei Yang
t;>> -typedef struct AcpiTableMcfg AcpiTableMcfg; >>> - >>> /* >>> * TCPA Description Table >>> * >>> -- >>> 2.19.1 -- Wei Yang Help you, Help me

Re: [Qemu-devel] [PATCH 2/4] migration/savevm: use migration_is_blocked to validate

2019-05-15 Thread Wei Yang
On Wed, May 15, 2019 at 10:38:37AM +0100, Dr. David Alan Gilbert wrote: >* Wei Yang (richardw.y...@linux.intel.com) wrote: >> On Wed, May 15, 2019 at 02:38:27PM +0800, Wei Yang wrote: >> >On Tue, May 14, 2019 at 04:18:14PM +0100, Dr. David Alan Gilbert wrote: >>

Re: [Qemu-devel] [PATCH 1/3] migration/ram.c: start of migration_bitmap_sync_range is always 0

2019-05-15 Thread Wei Yang
On Wed, May 15, 2019 at 09:04:51AM +0100, Dr. David Alan Gilbert wrote: >* Wei Yang (richardw.y...@linux.intel.com) wrote: >> On Tue, May 14, 2019 at 03:27:02PM +0100, Dr. David Alan Gilbert wrote: >> >* Wei Yang (richardw.y...@linux.intel.com) wrote: >> >&

Re: [Qemu-devel] [PATCH v4 6/6] acpi: pci: use build_append_foo() API to construct MCFG

2019-05-15 Thread Wei Yang
On Wed, May 15, 2019 at 07:29:17AM +0200, Philippe Mathieu-Daudé wrote: >On 5/15/19 3:10 AM, Michael S. Tsirkin wrote: >> On Fri, Apr 19, 2019 at 08:30:53AM +0800, Wei Yang wrote: >>> build_append_foo() API doesn't need explicit endianness conversions >>> which elim

Re: [Qemu-devel] [PATCH v4 6/6] acpi: pci: use build_append_foo() API to construct MCFG

2019-05-15 Thread Wei Yang
On Tue, May 14, 2019 at 09:10:34PM -0400, Michael S. Tsirkin wrote: >On Fri, Apr 19, 2019 at 08:30:53AM +0800, Wei Yang wrote: >> build_append_foo() API doesn't need explicit endianness conversions >> which eliminates a source of errors and it makes build_mcfg() look like >&

<    1   2   3   4   5   6   7   8   >