Messages in this thread | ![/](/images/icornerl.gif) | | Date | Tue, 23 Apr 2024 09:45:10 +0200 | From | Robert Richter <> | Subject | Re: [PATCH 2/4] perf/x86/ibs: Use CPUID region helper |
| |
On 22.04.24 23:45:03, Borislav Petkov wrote: > On Mon, Apr 22, 2024 at 11:30:24PM +0200, Robert Richter wrote: > > I mean the case where the cpuid leaf exists but IBS_CAPS_AVAIL is > > clear. That could be possible with some cpuid override e.g. in virt > > envs. > > Until there is a valid use case, I don't care. > > > Not on real hardware and if future systems not decide to enable IBS > > feature bit and clear IBS_CAPS_AVAIL, which could be a valid case IMO. > > Then they get what they ordered and get to keep the pieces. > > We don't support every insane configuration virt comes up with.
I think we can assume/agree that max cpuid leaf will not decrease. That is, future implementations will contain the IBS leaf (offset 1Bh). Second, if IBS feature bit is cleared, IBS is switched off. Third, use IBS_CAPS_DEFAULT if the IBS leaf is missing.
Now, we just need to decide one of those for the case where the IBS cpuid leaf exists and IBS_CAPS_AVAIL is cleared:
1) Apply 0 to caps and entirely disable IBS (my proposal).
2) Apply IBS_CAPS_DEFAULT (originally intended for GH revB) and enable IBS with the limited feature set for GH revB (current kernel implementation).
I prefer 1) as this applies IBS_CAPS_DEFAULT only if the leaf is missing which was the original intention of IBS_CAPS_DEFAULT but can live with 2) as it is implemented now.
Thanks,
-Robert
| ![\](/images/icornerr.gif) |