Re: [RFC PATCH 04/13] x86/fpu/xstate: Enumerate User Interrupts supervisor state

From: Thomas Gleixner
Date: Thu Sep 23 2021 - 18:34:11 EST


On Mon, Sep 13 2021 at 13:01, Sohil Mehta wrote:
> Enable xstate supervisor support for User Interrupts by default.

What means enabled by default? It's enabled when available and not
disabled on the command line.

> The user interrupt state for a task consists of the MSR state and the
> User Interrupt Flag (UIF) value. XSAVES and XRSTORS handle saving and
> restoring both of these states.
>
> <The supervisor XSTATE code might be reworked based on issues reported
> in the past. The Uintr context switching code would also need rework and
> additional testing in that regard.>

What? Which issues were reported and if they have been reported then how
is the provided code correct?

> +/*
> + * State component 14 is supervisor state used for User Interrupts state.
> + * The size of this state is 48 bytes
> + */
> +struct uintr_state {
> + u64 handler;
> + u64 stack_adjust;
> + u32 uitt_size;
> + u8 uinv;
> + u8 pad1;
> + u8 pad2;
> + u8 uif_pad3; /* bit 7 - UIF, bits 6:0 - reserved */

Please do not use tail comments. Also what kind of name is uif_pad3?
Bitfields exist for a reason.

Aside of that please use tabs to seperate type and name.

> + u64 upid_addr;
> + u64 uirr;
> + u64 uitt_addr;
> +} __packed;
> +

Thanks,

tglx