* Babu Moger (babu.mo...@amd.com) wrote: > > > -----Original Message----- > > From: Igor Mammedov <imamm...@redhat.com> > > Sent: Wednesday, August 26, 2020 8:31 AM > > To: Daniel P. Berrangé <berra...@redhat.com> > > Cc: Moger, Babu <babu.mo...@amd.com>; pbonz...@redhat.com; > > r...@twiddle.net; ehabk...@redhat.com; qemu-devel@nongnu.org; > > m...@redhat.com; Michal Privoznik <mpriv...@redhat.com> > > Subject: Re: [PATCH v5 0/8] Remove EPYC mode apicid decode and use generic > > decode > > > > On Wed, 26 Aug 2020 13:50:59 +0100 > > Daniel P. Berrangé <berra...@redhat.com> wrote: > > > > > On Wed, Aug 26, 2020 at 02:38:49PM +0200, Igor Mammedov wrote: > > > > On Fri, 21 Aug 2020 17:12:19 -0500 > > > > Babu Moger <babu.mo...@amd.com> wrote: > > > > > > > > > To support some of the complex topology, we introduced EPYC mode > > apicid decode. > > > > > But, EPYC mode decode is running into problems. Also it can become > > > > > quite a maintenance problem in the future. So, it was decided to > > > > > remove that code and use the generic decode which works for > > > > > majority of the topology. Most of the SPECed configuration would > > > > > work just fine. With some non-SPECed user inputs, it will create some > > > > > sub- > > optimal configuration. > > > > > Here is the discussion thread. > > > > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2F > > > > > lore.kernel.org%2Fqemu-devel%2Fc0bcc1a6-1d84-a6e7-e468- > > d5b437c1b25 > > > > > > > 4%40amd.com%2F&data=02%7C01%7Cbabu.moger%40amd.com%7C8a5c > > 52f92 > > > > > > > 3f04082a40808d849c43d49%7C3dd8961fe4884e608e11a82d994e183d%7C0%7 > > C0 > > > > > > > %7C637340454473508873&sdata=VnW28H1v4XwK3GaNGFxu%2BhwiMeA > > YO%2B > > > > > 3WAzo3DeY5Ha8%3D&reserved=0 > > > > > > > > > > This series removes all the EPYC mode specific apicid changes and > > > > > use the generic apicid decode. > > > > > > > > the main difference between EPYC and all other CPUs is that it > > > > requires numa configuration (it's not optional) so we need an extra > No, That is not true. Because of that assumption we made all these apicid > changes. And here we are now. > > AMD supports varies mixed configurations. In case of EPYC-Rome, we have > NPS1, NPS2 and NPS4(Numa Nodes per socket). In case of NPS1, basically we > have all the cores in a socket under one numa node. This is non-numa > configuration. > Looking at the various configurations and also discussing internally, it > is not advisable to have (epyc && !numa) check.
Indeed on real hardware, I don't think we always see NUMA; my single socket, 16 core/32 thread 7302P Dell box, shows the kernel printing 'No NUMA configuration found...Faking a node.' So if real hardware hasn't got a NUMA node, what's the real problem? Dave > > > > patch on top of this series to enfoce that, i.e: > > > > > > > > if (epyc && !numa) > > > > error("EPYC cpu requires numa to be configured") > > > > > > Please no. This will break 90% of current usage of the EPYC CPU in > > > real world QEMU deployments. That is way too user hostile to introduce > > > as a requirement. > > > > > > Why do we need to force this ? People have been successfuly using > > > EPYC CPUs without NUMA in QEMU for years now. > > > > > > It might not match behaviour of bare metal silicon, but that hasn't > > > obviously caused the world to come crashing down. > > So far it produces warning in linux kernel (RHBZ1728166), (resulting > > performance > > might be suboptimal), but I haven't seen anyone reporting crashes yet. > > > > > > What other options do we have? > > Perhaps we can turn on strict check for new machine types only, so old > > configs > > can keep broken topology (CPUID), while new ones would require -numa and > > produce correct topology. > > > > > > > > > > Regards, > > > Daniel > > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK