lkml.org 
[lkml]   [2021]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v5 28/28] x86/fpu/amx: Clear the AMX state when appropriate
    From
    Date
    On 5/23/21 12:32 PM, Chang S. Bae wrote:
    > + /*
    > + * Since the current task's state is safely in the XSAVE buffer, TILERELEASE
    > + * the TILE registers to guarantee that dirty state will not interfere with the
    > + * hardware's ability to enter the core C6 idle state.
    > + */

    Is there an architectural reason to be so specific about this one idle
    state? Are AMX and "C6 idle state" so intertwined that this comment
    will age well?

    I'm a bit worried that "C6 idle state" won't be meaningful to folks who
    read this.

    Could we maybe say:

    /*
    * Leaving state in the TILE registers may prevent the
    * processor from entering low-power idle states. Use
    * TILERELEASE to initialize the state. Destroying
    * fpregs state is safe after the fpstate update.
    */

    Also, referencing fpregs/fpstate is really nice because the codes
    doesn't actually say "XSAVE" anywhere.

    > + if (fpu->state_mask & XFEATURE_MASK_XTILE_DATA)
    > + tile_release();

    Doesn't this tile_release() need a fpregs_deactivate()? Otherwise, the
    next XRSTOR might get optimized away because it thinks there's still
    good data in the fpregs.

    Will this unnecessarily thwart the modified optimization in cases where
    we go and run this task again without ever going out to userspace? Will
    this impact context-switch latency for *EVERY* context switch in order
    to go to a lower idle state in a few minutes, hours, or never?

    \
     
     \ /
      Last update: 2021-05-24 16:08    [W:4.093 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site