From: Vadim Rozenfeld <vrozenfe@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>,
Roman Kagan <rkagan@virtuozzo.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>,
qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH] i386: Fix signedness of hyperv_spinlock_attempts
Date: Tue, 18 Jun 2019 11:24:57 +1000 [thread overview]
Message-ID: <1560821097.5084.179.camel@redhat.com> (raw)
In-Reply-To: <20190617174917.GE19178@habkost.net>
On Mon, 2019-06-17 at 14:49 -0300, Eduardo Habkost wrote:
> On Mon, Jun 17, 2019 at 05:32:13PM +0000, Roman Kagan wrote:
> > On Mon, Jun 17, 2019 at 11:23:01AM -0300, Eduardo Habkost wrote:
> > > On Mon, Jun 17, 2019 at 01:48:59PM +0000, Roman Kagan wrote:
> > > > On Sat, Jun 15, 2019 at 05:05:05PM -0300, Eduardo Habkost
> > > > wrote:
> > > > > The current default value for hv-spinlocks is 0xFFFFFFFF
> > > > > (meaning
> > > > > "never retry"). However, the value is stored as a signed
> > > > > integer, making the getter of the hv-spinlocks QOM property
> > > > > return -1 instead of 0xFFFFFFFF.
> > > > >
> > > > > Fix this by changing the type of
> > > > > X86CPU::hyperv_spinlock_attempts
> > > > > to uint32_t. This has no visible effect to guest operating
> > > > > systems, affecting just the behavior of the QOM getter.
> > > > >
> > > > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > > > > ---
> > > > > target/i386/cpu.h | 2 +-
> > > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > Reviewed-by: Roman Kagan <rkagan@virtuozzo.com>
> > > >
> > > > That said, it's tempting to just nuke qdev_prop_spinlocks and
> > > > make
> > > > hv-spinlocks a regular DEFINE_PROP_UINT32...
> > >
> > > Agreed. The only difference is that we would validate the
> > > property at realize time instead of object_property_set().
> >
> > Right. But currently it's validated to be no less than 0xfff and
> > no
> > bigger than 0xffffffff. The latter check would become unnecessary,
> > and
> > I'm unable to find any reason to do the former (neither spec
> > references
> > nor the log messages of the commits that introduced it).
>
> The 0xFFF lower limit was originally introduced by commit
> 28f52cc04d34 ("hyper-v: introduce Hyper-V support infrastructure").
>
> Vadim, do you know where the 0xFFF limit comes from?
I simply took this value from Windows Server 2008 R2 that
I used as a reference while working on Hyper-V support for KVM.
I also remember some paper (probably published by AMD ???) mentioned
that 0x2fff seemed to have the best balance for PLE logic.
Best,
Vadim.
next prev parent reply other threads:[~2019-06-18 1:26 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-15 20:05 [Qemu-devel] [PATCH] i386: Fix signedness of hyperv_spinlock_attempts Eduardo Habkost
2019-06-17 6:59 ` Vitaly Kuznetsov
2019-06-17 13:48 ` Roman Kagan
2019-06-17 14:23 ` Eduardo Habkost
2019-06-17 17:32 ` Roman Kagan
2019-06-17 17:49 ` Eduardo Habkost
2019-06-18 1:24 ` Vadim Rozenfeld [this message]
2019-06-18 10:35 ` Roman Kagan
2019-06-18 11:08 ` Roman Kagan
2019-06-18 11:17 ` Vadim Rozenfeld
2019-06-18 22:54 ` Eduardo Habkost
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=1560821097.5084.179.camel@redhat.com \
--to=vrozenfe@redhat.com \
--cc=ehabkost@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rkagan@virtuozzo.com \
--cc=rth@twiddle.net \
--cc=vkuznets@redhat.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.