From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
QEMU Developers <qemu-devel@nongnu.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <rth@twiddle.net>,
KONRAD Frederic <frederic.konrad@adacore.com>,
quintela@redhat.com
Subject: Re: [Qemu-devel] [PULL v1 0/7] MMIO Exec pull request
Date: Mon, 17 Jul 2017 19:58:31 +0100 [thread overview]
Message-ID: <20170717185830.GD31820@work-vm> (raw)
In-Reply-To: <CAJy5ezpvpohU5x48WrKz57k9+s39hkSCUm+f_u2qf7E0Zin7Mw@mail.gmail.com>
* Edgar E. Iglesias (edgar.iglesias@gmail.com) wrote:
> On Mon, Jul 17, 2017 at 11:33 PM, Peter Maydell <peter.maydell@linaro.org>
> wrote:
>
> > On 14 June 2017 at 18:45, Edgar E. Iglesias <edgar.iglesias@gmail.com>
> > wrote:
> > > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>
> > > Paolo suggested offline that we send a pull request for this series.
> > > Here it is, I've run it through my testsuite + tested the LQSPI testcase
> > > on Zynq.
> >
> > > ----------------------------------------------------------------
> > > mmio-exec.for-upstream
> > >
> > > ----------------------------------------------------------------
> > > KONRAD Frederic (7):
> > > cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT
> > > cputlb: move get_page_addr_code
> > > cputlb: fix the way get_page_addr_code fills the tlb
> > > qdev: add MemoryRegion property
> > > introduce mmio_interface
> > > exec: allow to get a pointer for some mmio memory region
> > > xilinx_spips: allow mmio execution
> >
> > Hi Edgar -- can you or Fred explain how this code interacts with
> > VM migration? The mmio-interface device creates a RAM memory
> > region with memory_region_init_ram_ptr(), but it doesn't call
> > vmstate_register_ram(). On the other hand the core migration code
> > will try to migrate the contents of the RAMBlock anyway, just
> > without a name.
> >
> > It's not clear to me how this works, and it would be nice to
> > get it clear so that we can make any necessary fixes before the
> > 2.10 release hits and we lose the opportunity to make any
> > migration-compatibility-breaking changes.
> >
> > thanks
> > -- PMM
> >
>
> Hi Peter,
>
> These temporary regions should be read-only and treated as temporary caches
> AFAIU things.
> I would say that they don't need to be migrated. After migration, the new
> VM will recreate the ram areas from device backing.
>
> Is there a way we can prevent migration of the RAMBlock?
Not yet, I think we'd have to:
a) Add a flag to the RAMBlock
b) Set it/clear it on registration
c) Have a RAMBLOCK_FOREACH_MIGRATABLE macro
d) Replace all of the RAMBLOCK_FOREACH (and the couple of hand coded
cases) with the RAMBLOCK_FOREACH_MIGRATABLE
e) Worry about the corner cases!
I've got a few worries about what happens when the kernel tries to
do dirty yncing - I'm not sure if we have to change anything on that
interface to skip those RAMBlocks.
Dave
> Cheers,
> Edgar
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2017-07-17 18:58 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-14 17:45 [Qemu-devel] [PULL v1 0/7] MMIO Exec pull request Edgar E. Iglesias
2017-06-14 17:45 ` [Qemu-devel] [PULL v1 1/7] cputlb: cleanup get_page_addr_code to use VICTIM_TLB_HIT Edgar E. Iglesias
2017-06-14 17:45 ` [Qemu-devel] [PULL v1 2/7] cputlb: move get_page_addr_code Edgar E. Iglesias
2017-06-14 17:45 ` [Qemu-devel] [PULL v1 3/7] cputlb: fix the way get_page_addr_code fills the tlb Edgar E. Iglesias
2017-06-14 17:45 ` [Qemu-devel] [PULL v1 4/7] qdev: add MemoryRegion property Edgar E. Iglesias
2017-06-14 17:45 ` [Qemu-devel] [PULL v1 5/7] introduce mmio_interface Edgar E. Iglesias
2017-06-14 17:45 ` [Qemu-devel] [PULL v1 6/7] exec: allow to get a pointer for some mmio memory region Edgar E. Iglesias
2017-06-14 17:45 ` [Qemu-devel] [PULL v1 7/7] xilinx_spips: allow mmio execution Edgar E. Iglesias
2017-06-14 18:36 ` [Qemu-devel] [PULL v1 0/7] MMIO Exec pull request no-reply
2017-06-23 10:54 ` Peter Maydell
2017-06-23 12:34 ` KONRAD Frederic
2017-06-27 15:21 ` Edgar E. Iglesias
2017-07-17 16:33 ` Peter Maydell
2017-07-17 17:27 ` Edgar E. Iglesias
2017-07-17 18:58 ` Dr. David Alan Gilbert [this message]
2017-07-17 19:57 ` Peter Maydell
2017-07-18 14:53 ` Dr. David Alan Gilbert
2017-07-20 9:42 ` Peter Maydell
2017-07-20 9:53 ` KONRAD Frederic
2017-07-20 10:02 ` Dr. David Alan Gilbert
2017-07-21 8:09 ` KONRAD Frederic
2017-07-21 9:13 ` Dr. David Alan Gilbert
2017-07-21 9:29 ` Peter Maydell
2017-07-21 9:38 ` KONRAD Frederic
2017-07-21 10:31 ` Dr. David Alan Gilbert
2017-07-27 19:13 ` Juan Quintela
2017-07-27 19:07 ` Juan Quintela
2017-07-21 9:27 ` Dr. David Alan Gilbert
2017-07-21 9:34 ` KONRAD Frederic
2017-07-28 9:18 ` Peter Maydell
2017-07-28 10:13 ` Peter Maydell
2017-07-31 7:34 ` KONRAD Frederic
2017-07-18 7:34 ` KONRAD Frederic
2017-07-19 12:29 ` Dr. David Alan Gilbert
2017-07-19 16:22 ` KONRAD Frederic
2017-07-19 16:25 ` Peter Maydell
2017-07-20 7:55 ` KONRAD Frederic
2017-07-19 16:46 ` Dr. David Alan Gilbert
2017-07-20 7:54 ` KONRAD Frederic
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=20170717185830.GD31820@work-vm \
--to=dgilbert@redhat.com \
--cc=edgar.iglesias@gmail.com \
--cc=frederic.konrad@adacore.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=rth@twiddle.net \
/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.