On Wed, Jun 28, 2023 at 12:28:12AM +0000, Huang, Kai wrote: > On Tue, 2023-06-27 at 22:37 +0000, Huang, Kai wrote: > > > > > > > > +/* > > > > + * Do the module global initialization if not done yet. > > > > + * It's always called with interrupts and preemption disabled. > > > > + */ > > > > > > If interrupts are always disabled why do you need _irqsave()? > > > > > > > I'll remove the _irqsave(). > > > > AFAICT Isaku preferred this for additional security, but this is not > > necessary. > > > > > > Damn. I think we can change the comment to say this function is called with > preemption being disabled, but _can_ be called with interrupt disabled. And we > keep using the _irqsave() version. > > /* > * Do the module global initialization if not done yet. It's always > * called with preemption disabled and can be called with interrupts > * disabled. > */ > > This allows a use case that the caller simply wants to call some SEAMCALL on > local cpu, e.g., IOMMU code may just use below to get some TDX-IO information: > > preempt_disable(); > vmxon(); > tdx_cpu_enable(); > SEAMCALL; > vmxoff(); > preempt_enable(); > > Are you OK with this? Is it hypothetical use-case? If so, I would rather keep it simple for now and adjust in the future if needed. -- Kiryl Shutsemau / Kirill A. Shutemov