lkml.org 
[lkml]   [2018]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [RFC PATCH] x86/arch_prctl: Add ARCH_SET_XCR0 to mask XCR0 per-thread
    From
    Date
    On 06/18/2018 08:13 AM, Keno Fischer wrote:
    >>> 4) Catch the fault thrown by xsaves/xrestors in this situation, update
    >>> XCR0, redo the xsaves/restores, put XCR0 back and continue
    >>> execution after the faulting instruction.
    >>
    >> I'm worried about the kernel pieces that go digging in the XSAVE data
    >> getting confused more than the hardware getting confused.
    >
    > So you prefer this option? If so, I can try to have a go at implementing it
    > this way and seeing if I run into any trouble.

    No, I'm saying that depending on faults is not a viable solution. We
    are not guaranteed to get faults in all the cases you would need to fix up.

    XSAVE*/XRSTOR* are not even *called* in some of those cases.

    >>> At least currently, it is my understanding that `xfeatures_mask` only has
    >>> user features, am I mistaken about that?
    >>
    >> We're slowing adding supervisor support. I think accounting for
    >> supervisor features is a requirement for any new XSAVE code.
    >
    > Sure, I don't think this is in any way incompatible with that (though
    > probably also informs that we want to keep the memory layout the
    > same if possible).

    I think you've tried to simplify your implementation by ignoring
    features, like holes. However, the existing implementation actually
    *does* handle those things and we've spent a significant amount of time
    ensuring that it works, despite the fact that you can't buy an
    off-the-shelf CPU that creates a hole without help from a hypervisor today.

    \
     
     \ /
      Last update: 2018-06-18 18:16    [W:2.706 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site