lkml.org 
[lkml]   [2015]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH] x86, msr: Allow read access to /dev/cpu/X/msr
    On Thu, Jul 2, 2015 at 12:22 PM, H. Peter Anvin <hpa@zytor.com> wrote:
    > On 07/01/2015 09:38 AM, Brown, Len wrote:
    >>
    >> BTW. I've had a discussion w/ LLNL about their needs,
    >> both for security and performance. For security, as concluded
    >> by this thread, a white list is the only way to go.
    >> I'm thinking a bit-vector of allowed MSR offsets...
    >> For performance, they absolutely can not afford a system call
    >> for every single MSR access. Here an ioctl to have the
    >> msr driver perform a vector of accesses in a single system
    >> call seems the way to go. I can prototype both of these
    >> using turbostat as the customer.
    >>
    >
    > Every time I have heard about people having issues with performance for
    > MSR access, it is because they are doing cross-CPU accesses which means
    > a neverending stream of IPIs. You get immensely better performance by
    > tying a thread to a CPU and only accessing the local CPU from that
    > thread. This has addressed any performance problems anyone has ever
    > come to me with. As Andy and Ingo have already pointed out, the MSR
    > access itself is pretty much as expensive as the system call overhead.

    To be fair, before we had opportunistic sysret,
    CONFIG_CONTEXT_TRACKING was *extremely* expensive. Even now, it's
    still pretty bad.

    Len, do you know what configuration and kernel version this was on or
    what the apparent syscall overhead was?

    --Andy


    \
     
     \ /
      Last update: 2015-07-02 22:01    [W:4.554 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site