Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Sep 2020 07:41:12 +0000
From:      Wei Hu <weh@microsoft.com>
To:        Konstantin Belousov <kostikbel@gmail.com>, "avg@freebsd.org" <avg@freebsd.org>
Cc:        "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>
Subject:   RE: MSR accesses that slows down the hypervisor/host
Message-ID:  <SG2P153MB03521E6C5A0870A42097E8C8BB3D0@SG2P153MB0352.APCP153.PROD.OUTLOOK.COM>
In-Reply-To: <20200917183825.GU94807@kib.kiev.ua>
References:  <SG2P153MB0352138F1A840E8663C039C2BB210@SG2P153MB0352.APCP153.PROD.OUTLOOK.COM> <20200916135727.GO94807@kib.kiev.ua> <SG2P153MB0352C010CAA61A46BD28C964BB3E0@SG2P153MB0352.APCP153.PROD.OUTLOOK.COM> <20200917183825.GU94807@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
> > > From: Konstantin Belousov <kostikbel@gmail.com>
> > > Sent: Wednesday, September 16, 2020 9:57 PM
> > > To: Wei Hu <weh@microsoft.com>
> > > Cc: freebsd-hackers@freebsd.org
> > > Subject: Re: MSR accesses that slows down the hypervisor/host
> > >
> > > Where do you see accesses to MSR_LS_CFG ?  I can only find
> > > manipulations of that MSR in init_amd(), and then it is all under
> > > check that we are not virtualized.
> > >
> > Yes, it is only accessed in init_amd() at boot time. So it is less
> > concerned. MSR_AMDK8_IPM is accessed in cpu_idle() all the time, so it =
is
> the key place to optimize.
> >
> > > For MSR_AMDK8_IPM access in cpu_idle(), it seems that the workaround
> > > was applied too wide. It might be that we do not need to do it on
> > > recent CPUs, but I need to spent more time looking at datasheets to
> confirm/deny.
> > >
> > > But, do you (hypervisor) indeed allow guest to initiate C1 or deeper =
idle
> state ?
> > > If not, perhaps as the first measure, we can avoid manipulating
> > > MSR_AMDK8_IPM under hypervisor at all.
> >
> > You are right a guest cannot initiate C1 or deeper idle state when runn=
ing on
> Hyper-V.
> > So skipping the read of MSR_AMDK8_IPM when running under this
> > hypervisor would Be a viable solution.
>=20
> https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Frevie=
ws
> .freebsd.org%2FD26470&amp;data=3D02%7C01%7Cweh%40microsoft.com%7C8
> 7f5f82583ee428f49c108d85b38e9c3%7C72f988bf86f141af91ab2d7cd011db4
> 7%7C1%7C0%7C637359647283571535&amp;sdata=3DJdKxHO1sM2InD7Eo793FF
> RIpj5AQmowcc%2BLGW19dlH4%3D&amp;reserved=3D0

Thanks for the quick response. I will review the change and do some tests o=
n Hyper-V.

Wei



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?SG2P153MB03521E6C5A0870A42097E8C8BB3D0>