On 4/10/25 01:53, Christoph Hellwig wrote:
On Fri, Mar 28, 2025 at 10:11:50AM -0700, Xin Li (Intel) wrote:
The per CPU array 'cea_exception_stacks' points to per CPU stacksExporting data vs accessors for it is usually a bad idea. Doing a
+/*
+ * FRED introduced new fields in the host-state area of the VMCS for
+ * stack levels 1->3 (HOST_IA32_FRED_RSP[123]), each respectively
+ * corresponding to per CPU stacks for #DB, NMI and #DF. KVM must
+ * populate these each time a vCPU is loaded onto a CPU.
+ */
+EXPORT_PER_CPU_SYMBOL(cea_exception_stacks);
non-_GPl for such a very low level data struture is even worse.
Big ack on this.
I don't even see a single caller of __this_cpu_ist_top_va() that's
remotely performance sensitive or that needs to be inline.
Just make the __this_cpu_ist_top/bottom_va() macros into real functions
and export __this_cpu_ist_top_va(). It's going to be a pretty tiny
function but I think that's tolerable.