All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Cc: owasserm@redhat.com, vinodchegu@gmail.com
Subject: [Qemu-devel] [PATCH v3 0/8] Huge memory fixes
Date: Fri, 22 Jun 2012 15:46:11 +0200	[thread overview]
Message-ID: <cover.1340371865.git.quintela@redhat.com> (raw)

Hi

The following changes since commit 47ecbdf07ed2c37bdfd2d77137d01bb319ce13da:

  libcacard: build fixes (2012-06-21 20:04:24 +0000)

are available in the git repository at:

  http://repo.or.cz/r/qemu/quintela.git huge_memory-v2

for you to fetch changes up to 565b6c96250305553c21714f3c482d7d408eb4b2:

  Maintain the number of dirty pages (2012-06-22 15:24:14 +0200)


v2:
- Add a define MAX_DELAY (orit suggestion)
- fix handling of dirty pages number (now it is checked that is ok)
- one there, consolidate the handling of the bitmap, limiting access
  to the bitmap to only accessors.

Please review, Juan.


v1:

After a long, long time, this is v2.

This are basically the changes that we have for RHEL, due to the
problems that we have with big memory machines.  I just rebased the
patches and fixed the easy parts:

- buffered_file_limit is gone: we just use 50ms and call it a day

- I let ram_addr_t as a valid type for a counter (no, I still don't
  agree with Anthony on this, but it is not important).

- Print total time of migration always.  Notice that I also print it
  when migration is completed.  Luiz, could you take a look to see if
  I did something worng (probably).

- Moved debug printfs to tracepointns.  Thanks a lot to Stefan for
  helping with it.  Once here, I had to put the traces in the middle
  of trace-events file, if I put them on the end of the file, when I
  enable them, I got generated the previous two tracepoints, instead
  of the ones I just defined.  Stefan is looking on that.  Workaround
  is defining them anywhere else.

- exit from cpu_physical_memory_reset_dirty().  Anthony wanted that I
  created an empty stub for kvm, and maintain the code for tcg.  The
  problem is that we can have both kvm and tcg running from the same
  binary.  Intead of exiting in the middle of the function, I just
  refactored the code out.  Is there an struct where I could add a new
  function pointer for this behaviour?

- exit if we have been too long on ram_save_live() loop.  Anthony
  didn't like this, I will sent a version based on the migration
  thread in the following days.  But just need something working for
  other people to test.

  Notice that I still got "lots" of more than 50ms printf's. (Yes,
  there is a debugging printf there).

- Bitmap handling.  Still all code to count dirty pages, will try to
  get something saner based on bitmap optimizations.

Comments?

Later, Juan.

Juan Quintela (8):
  Add spent time for migration
  Add tracepoints for savevm section start/end
  No need to iterate if we already are over the limit
  Only TCG needs TLB handling
  Only calculate expected_time for stage 2
  Exit loop if we have been there too long
  dirty bitmap: abstract its use
  Maintain the number of dirty pages

 arch_init.c      |   42 ++++++++++++++++++++++++------------------
 cpu-all.h        |    1 +
 exec-obsolete.h  |   50 ++++++++++++++++++++++++++++++--------------------
 exec.c           |   34 ++++++++++++++++++++++------------
 hmp.c            |    2 ++
 migration.c      |   11 +++++++++++
 migration.h      |    1 +
 qapi-schema.json |   12 +++++++++---
 savevm.c         |   11 +++++++++++
 trace-events     |    5 +++++
 10 files changed, 116 insertions(+), 53 deletions(-)

-- 
1.7.10.2

             reply	other threads:[~2012-06-22 13:46 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-22 13:46 Juan Quintela [this message]
2012-06-22 13:46 ` [Qemu-devel] [PATCH 1/8] Add spent time for migration Juan Quintela
2012-06-22 13:46 ` [Qemu-devel] [PATCH 2/8] Add tracepoints for savevm section start/end Juan Quintela
2012-06-22 13:46 ` [Qemu-devel] [PATCH 3/8] No need to iterate if we already are over the limit Juan Quintela
2012-06-22 13:46 ` [Qemu-devel] [PATCH 4/8] Only TCG needs TLB handling Juan Quintela
2012-06-22 13:46 ` [Qemu-devel] [PATCH 5/8] Only calculate expected_time for stage 2 Juan Quintela
2012-06-22 13:46 ` [Qemu-devel] [PATCH 6/8] Exit loop if we have been there too long Juan Quintela
2012-06-22 13:46 ` [Qemu-devel] [PATCH 7/8] dirty bitmap: abstract its use Juan Quintela
2012-06-22 13:46 ` [Qemu-devel] [PATCH 8/8] Maintain the number of dirty pages Juan Quintela

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=cover.1340371865.git.quintela@redhat.com \
    --to=quintela@redhat.com \
    --cc=owasserm@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=vinodchegu@gmail.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 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.