All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Yang <richardw.yang@linux.intel.com>
To: Wei Yang <richardw.yang@linux.intel.com>
Cc: fam@euphon.net, mst@redhat.com, mark.cave-ayland@ilande.co.uk,
	qemu-devel@nongnu.org, kraxel@redhat.com, den@openvz.org,
	qemu-block@nongnu.org, quintela@redhat.com, armbru@redhat.com,
	pasic@linux.ibm.com, borntraeger@de.ibm.com,
	marcandre.lureau@redhat.com, rth@twiddle.net,
	ehabkost@redhat.com, sw@weilnetz.de, dgilbert@redhat.com,
	yuval.shaia@oracle.com, alex.williamson@redhat.com,
	stefanha@redhat.com, pbonzini@redhat.com,
	david@gibson.dropbear.id.au, kwolf@redhat.com, cohuck@redhat.com,
	qemu-s390x@nongnu.org, mreitz@redhat.com, qemu-ppc@nongnu.org,
	imammedo@redhat.com
Subject: Re: [PATCH 0/2] cleanup on page size
Date: Tue, 15 Oct 2019 05:59:11 +0800	[thread overview]
Message-ID: <20191014215911.GB15059@richard> (raw)
In-Reply-To: <20191013021145.16011-1-richardw.yang@linux.intel.com>

Hi, All,

I got one page size related question, hope to get some hint.

There is one comment in page_size_init().

    /* NOTE: we can always suppose that qemu_host_page_size >=
       TARGET_PAGE_SIZE */

The final result is true, since we compare qemu_host_page_size with
TARGET_PAGE_SIZE and if not qemu_host_page_size will be assigned to
TARGET_PAGE_SIZE.

Generally, there is no problem, but one corner case for migration.

In function ram_save_host_page(), it tries to save a whole host page. Or to be
specific, it tries to save a whole REAL host page.

The potential problem is when qemu_real_host_page_size < TARGET_PAGE_SIZE,
this whole host page would be a wrong range.

So I am wondering why we have the assumption written in page_size_init()?

I tried to dig out who and why we have this comment, but found the first
commit is

    commit 54936004fddc52c321cb3f9a9a51140e782bed5d
    Author: bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
    Date:   Tue May 13 00:25:15 2003 +0000
    
        mmap emulation
    
    
        git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@158 c046a42c-6fe2-441c-8c8c-71466251a162

There is no reason logged.

On Sun, Oct 13, 2019 at 10:11:43AM +0800, Wei Yang wrote:
>Patch 1 simplify the definition of xxx_PAGE_ALIGN.
>Patch 2 replaces getpagesize() with qemu_real_host_page_size. This one touch a
>volume of code. If some point is not correct, I'd appreciate your
>notification.
>
>Wei Yang (2):
>  cpu: use ROUND_UP() to define xxx_PAGE_ALIGN
>  core: replace getpagesize() with qemu_real_host_page_size
>
> accel/kvm/kvm-all.c            |  6 +++---
> backends/hostmem.c             |  2 +-
> block.c                        |  4 ++--
> block/file-posix.c             |  9 +++++----
> block/io.c                     |  2 +-
> block/parallels.c              |  2 +-
> block/qcow2-cache.c            |  2 +-
> contrib/vhost-user-gpu/vugbm.c |  2 +-
> exec.c                         |  6 +++---
> hw/intc/s390_flic_kvm.c        |  2 +-
> hw/ppc/mac_newworld.c          |  2 +-
> hw/ppc/spapr_pci.c             |  2 +-
> hw/rdma/vmw/pvrdma_main.c      |  2 +-
> hw/vfio/spapr.c                |  7 ++++---
> include/exec/cpu-all.h         |  7 +++----
> include/exec/ram_addr.h        |  2 +-
> include/qemu/osdep.h           |  4 ++--
> migration/migration.c          |  2 +-
> migration/postcopy-ram.c       |  4 ++--
> monitor/misc.c                 |  2 +-
> target/ppc/kvm.c               |  2 +-
> tests/vhost-user-bridge.c      |  8 ++++----
> util/mmap-alloc.c              | 10 +++++-----
> util/oslib-posix.c             |  4 ++--
> util/oslib-win32.c             |  2 +-
> util/vfio-helpers.c            | 12 ++++++------
> 26 files changed, 55 insertions(+), 54 deletions(-)
>
>-- 
>2.17.1

-- 
Wei Yang
Help you, Help me


      parent reply	other threads:[~2019-10-14 22:00 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-13  2:11 [PATCH 0/2] cleanup on page size Wei Yang
2019-10-13  2:11 ` [PATCH 1/2] cpu: use ROUND_UP() to define xxx_PAGE_ALIGN Wei Yang
2019-10-13  6:34   ` Michael S. Tsirkin
2019-10-13  9:27   ` David Gibson
2019-10-13 15:56   ` Richard Henderson
2019-10-13 23:36     ` David Gibson
2019-10-14  1:01     ` Wei Yang
2019-10-14  2:38       ` Richard Henderson
2019-10-14  3:19         ` Wei Yang
2019-10-14 16:25   ` Juan Quintela
2019-10-13  2:11 ` [PATCH 2/2] core: replace getpagesize() with qemu_real_host_page_size Wei Yang
2019-10-13  6:35   ` Michael S. Tsirkin
2019-10-13  9:28   ` David Gibson
2019-10-16  1:25     ` Wei Yang
2019-10-13 16:03   ` Richard Henderson
2019-10-14  9:15   ` Dr. David Alan Gilbert
2019-10-14 21:36     ` Wei Yang
2019-10-14 23:12       ` Richard Henderson
2019-10-15 11:45   ` Yuval Shaia
2019-10-16  1:07     ` Wei Yang
2019-10-23  9:19   ` Paolo Bonzini
2019-10-13  6:36 ` [PATCH 0/2] cleanup on page size Michael S. Tsirkin
2019-10-14 21:59 ` Wei Yang [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=20191014215911.GB15059@richard \
    --to=richardw.yang@linux.intel.com \
    --cc=alex.williamson@redhat.com \
    --cc=armbru@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=den@openvz.org \
    --cc=dgilbert@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=fam@euphon.net \
    --cc=imammedo@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=mreitz@redhat.com \
    --cc=mst@redhat.com \
    --cc=pasic@linux.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=rth@twiddle.net \
    --cc=stefanha@redhat.com \
    --cc=sw@weilnetz.de \
    --cc=yuval.shaia@oracle.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.