All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Xu <peterx@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, Maxime Coquelin <maxime.coquelin@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2] exec: fix address_space_get_iotlb_entry page mask
Date: Wed, 31 May 2017 14:23:57 +0800	[thread overview]
Message-ID: <20170531062357.GD14845@pxdev.xzpeter.org> (raw)
In-Reply-To: <624c0eb9-083f-d6e8-16b7-998082e1e470@redhat.com>

On Tue, May 30, 2017 at 06:23:14PM +0200, Paolo Bonzini wrote:
> 
> 
> On 29/05/2017 06:02, Peter Xu wrote:
> > The IOTLB that it returned didn't guarantee that page_mask is indeed a
> > so-called page mask. That won't affect current usage since now only
> > vhost is using it (vhost API allows arbitary IOTLB range). However we
> > have IOTLB scemantic and we should best follow it. This patch fixes this
> > issue to make sure the page_mask is always a valid page mask.
> > 
> > Fixes: a764040 ("exec: abstract address_space_do_translate()")
> > Signed-off-by: Peter Xu <peterx@redhat.com>
> > ---
> > Sorry please use this one. The codes is merely the same, just avoided
> > moving the codes around unnecessarily.
> > ---
> >  exec.c | 14 ++++++--------
> >  1 file changed, 6 insertions(+), 8 deletions(-)
> > 
> > diff --git a/exec.c b/exec.c
> > index ff16f04..3db247c 100644
> > --- a/exec.c
> > +++ b/exec.c
> > @@ -529,16 +529,14 @@ IOMMUTLBEntry address_space_get_iotlb_entry(AddressSpace *as, hwaddr addr,
> >          section.offset_within_region;
> >  
> >      if (plen == (hwaddr)-1) {
> > -        /*
> > -         * We use default page size here. Logically it only happens
> > -         * for identity mappings.
> > -         */
> > -        plen = TARGET_PAGE_SIZE;
> > +        /* If not specified during translation, use default mask */
> > +        plen = TARGET_PAGE_MASK;
> > +    } else {
> > +        /* Make it a valid page mask */
> > +        assert(plen);
> > +        plen = (1ULL << (63 - clz64(plen))) - 1;
> 
> Would pow2floor be better?

Yes. :) Will respin. Thanks!

-- 
Peter Xu

      reply	other threads:[~2017-05-31  6:24 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-29  4:02 [Qemu-devel] [PATCH v2] exec: fix address_space_get_iotlb_entry page mask Peter Xu
2017-05-30 16:23 ` Paolo Bonzini
2017-05-31  6:23   ` Peter Xu [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=20170531062357.GD14845@pxdev.xzpeter.org \
    --to=peterx@redhat.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=pbonzini@redhat.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 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.