OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [PATCH 1/3] content: Document balloon feature free page hints


On Mon, 11 May 2020 08:22:02 -0700
Alexander Duyck <alexander.duyck@gmail.com> wrote:

> On Mon, May 11, 2020 at 5:10 AM Cornelia Huck <cohuck@redhat.com> wrote:
> >
> > On Fri, 08 May 2020 10:16:22 -0700
> > Alexander Duyck <alexander.duyck@gmail.com> wrote:
> >  
> > > From: Alexander Duyck <alexander.h.duyck@linux.intel.com>
> > >
> > > Free page hints allow the balloon driver to provide information on what
> > > pages are not currently in use so that we can avoid the cost of copying
> > > them in migration scenarios. Add a feature description for free page hints
> > > describing basic functioning and requirements.
> > >
> > > Signed-off-by: Alexander Duyck <alexander.h.duyck@linux.intel.com>
> > > ---
> > >  content.tex |  128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
> > >  1 file changed, 122 insertions(+), 6 deletions(-)
> > >  
> >  
> 
> I've taken care of the spelling/grammar items pointed out. Will be
> fixed for next version.
> 
> > > +hinting request.
> > > +
> > > +The driver SHOULD return pages for use once \field{free_page_hint_cmd_id}
> > > +reports a value of VIRTIO_BALLOON_CMD_ID_DONE.
> > > +
> > > +\devicenormative{\paragraph}{Free Page Hinting}{Device Types / Memory Balloon Device / Device Operation / Free Page Hinting}
> > > +
> > > +Normative statements in this section apply if the
> > > +VIRTIO_BALLOON_F_FREE_PAGE_HINT feature has been negotiated.
> > > +
> > > +The device MUST set \field{free_page_hint_cmd_id} to
> > > +VIRTIO_BALLOON_CMD_ID_STOP any time that the dirty pages for the given
> > > +guest are being recorded.
> > > +
> > > +The device MUST NOT reuse a command ID until it has received an output  
> >
> > What does 'reuse' mean in this context? I would expect that it is
> > forbidden to do the following:
> > - device sets id in config space
> > - driver queues descriptor with id
> > - device changes id to anything other than the current id or the
> >   reserved ids <== bad
> >
> > Maybe "The device MUST NOT change a command ID actively in use by the
> > driver until..." ?  
> 
> Actually what I was referring to was something more like:
> - device sets the ID <n> in config space
> - device sets the ID value to CMD_ID_STOP.
> - device set the ID value to <n> again.
> 
> In order to be able to do that the driver has to reply indicating it
> has stopped reporting hints before we can go back and reuse <n>. The
> expectation is that the device will use <n+1> when it resumes.
> 

I see. So what about

"The device MUST NOT set \field{free_page_hint_cmd_id} to a previously
used ID until after it has received an output descriptor containing
VIRTIO_BALLOON_CMD_ID_STOP from the driver." ?

(Also, is the sequence I mentioned above valid? What happens if the
driver continues queuing with the old id -- does the device ignore it?
Or does the device need to present STOP before presenting another id?)



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]