qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Yoshiaki Tamura <tamura.yoshiaki@lab.ntt.co.jp>
To: Anthony Liguori <aliguori@linux.vnet.ibm.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Re: [PATCH 0/4] Threaded tcp incoming migration.
Date: Wed, 2 Jun 2010 01:44:17 +0900	[thread overview]
Message-ID: <AANLkTikwvp44E44WT8YitnuQyeyARbUmuAfrTzKCHHVF@mail.gmail.com> (raw)
In-Reply-To: <4C0533C8.1080309@linux.vnet.ibm.com>

2010/6/2 Anthony Liguori <aliguori@linux.vnet.ibm.com>:
> On 06/01/2010 11:18 AM, Yoshiaki Tamura wrote:
>>
>> 2010/6/2 Anthony Liguori<aliguori@linux.vnet.ibm.com>:
>>
>>>
>>> On 06/01/2010 10:40 AM, Yoshiaki Tamura wrote:
>>>
>>>>
>>>> Hi,
>>>>
>>>> This series add threaded tcp incoming migration.  Currently, tcp
>>>> migration
>>>> on
>>>> incoming side is blocked when outgoing has started on the remote side,
>>>> and
>>>> you
>>>> can't do anything.  With this series you can get info of incoming
>>>> migration by
>>>> calling "info migrate" like on outgoing side.  Threaded tcp incoming
>>>> migration
>>>> is enable only when --enable-io-thread is set.
>>>>
>>>>
>>>
>>> I'm much less confident that threading is the answer here.  We really
>>> would
>>> just need to have asynchronous incoming migration.
>>>
>>
>> You mean, go back to select() in main(), and then call incoming
>> handler each time?
>> Won't it introduce more latency, resulting less throughput?
>>
>
> I wouldn't think so.  With threads, you've got to acquire locks and that
> lock acquisition can be a source of significant latency.  By blocking in
> select, you've got a straight dispatch path.
>
> Really, we'd get 99% of the way there just focusing on live loading of ram.
>  There's really no need to make the final stage of migration live.
>
>> Although threading maybe a big hammer for just getting monitor
>> working, I think using thread for incoming handler may worth if it
>> doesn't heart performance on receiving data.
>>
>
> Unless I'm mistaken, the thread patches you've posted make no attempt at
> addressing the problem of locking.  I believe that properly handling locking
> would result in the patch series increasing in size and complexity rather
> significantly.
>
> I think the simpler approach is to implement a state machine for ram
> loading.

OK.  Making ram loading to be selectable seems to be a good start point.

Thanks,

Yoshi

>
> Regards,
>
> Anthony Liguori
>
>> The downside is mutual exclusion, of course...
>>
>> Thanks,
>>
>> Yoshi
>>
>>
>>>
>>> Regards,
>>>
>>> Anthony Liguori
>>>
>>>
>>>>
>>>> This series apply on top of patch from Corentin posted on May 29.
>>>>
>>>> http://www.mail-archive.com/qemu-devel@nongnu.org/msg33830.html
>>>>
>>>> Yoshiaki Tamura (4):
>>>>   qemu-thread: add qemu_thread_join().
>>>>   migration-tcp: threaded tcp incoming migration.
>>>>   arch_init: calculate transferred bytes at ram_load().
>>>>   migration: add support to print migration info on incoming side.
>>>>
>>>>  arch_init.c     |    2 +
>>>>  migration-tcp.c |   86
>>>> ++++++++++++++++++++++++++++++++++++++++++++++---------
>>>>  migration.c     |   18 +++++++++--
>>>>  migration.h     |    2 +-
>>>>  qemu-thread.c   |    9 ++++++
>>>>  qemu-thread.h   |    1 +
>>>>  6 files changed, 99 insertions(+), 19 deletions(-)
>>>>
>>>>
>>>>
>>>
>>>
>>>
>
>
>

      reply	other threads:[~2010-06-01 16:44 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-01 15:40 [Qemu-devel] [PATCH 0/4] Threaded tcp incoming migration Yoshiaki Tamura
2010-06-01 15:40 ` [Qemu-devel] [PATCH 1/4] qemu-thread: add qemu_thread_join() Yoshiaki Tamura
2010-06-01 15:40 ` [Qemu-devel] [PATCH 2/4] migration-tcp: threaded tcp incoming migration Yoshiaki Tamura
2010-06-01 16:01   ` [Qemu-devel] " Anthony Liguori
2010-06-01 16:23     ` Yoshiaki Tamura
2010-06-01 16:28       ` Anthony Liguori
2010-06-01 16:46         ` Yoshiaki Tamura
2010-06-01 15:40 ` [Qemu-devel] [PATCH 3/4] arch_init: calculate transferred bytes at ram_load() Yoshiaki Tamura
2010-06-01 15:40 ` [Qemu-devel] [PATCH 4/4] migration: add support to print migration info on incoming side Yoshiaki Tamura
2010-06-01 15:58 ` [Qemu-devel] Re: [PATCH 0/4] Threaded tcp incoming migration Anthony Liguori
2010-06-01 16:18   ` Yoshiaki Tamura
2010-06-01 16:22     ` Anthony Liguori
2010-06-01 16:44       ` Yoshiaki Tamura [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=AANLkTikwvp44E44WT8YitnuQyeyARbUmuAfrTzKCHHVF@mail.gmail.com \
    --to=tamura.yoshiaki@lab.ntt.co.jp \
    --cc=aliguori@linux.vnet.ibm.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).