Announcement

Collapse
No announcement yet.

Linux 5.9 Performance Is Off To A Great Start With FSGSBASE Boost

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linux 5.9 Performance Is Off To A Great Start With FSGSBASE Boost

    Phoronix: Linux 5.9 Performance Is Off To A Great Start With FSGSBASE Boost

    The FSGSBASE support that was finally mainlined a few days ago for Linux 5.9 is off to providing a nice performance boost for both Intel and AMD systems. Looking at FSGSBASE is one of the first areas I've dived into for Linux 5.9 kernel testing with this article serving as some preview/teaser data points.

    http://www.phoronix.com/vr.php?view=29437

  • #2
    These are some quite noticeable improvements. I just hope this doesn't conflict with access times to thread-local memory, since I believe that uses (so far) the FS register. Thread-local memory is great for multithreaded programming.

    Comment


    • #3
      I wonder if support is baking for other operating systems like FreeBSD. Would be great to see in 13.0 next year. Help close the performance gap against Linux in some use cases.

      Comment


      • #4
        Please also include (no-mitigations + FSGSBASE) against the other configurations in you incoming benchmark.
        I'm interested in looking at best case performance

        Comment


        • #5
          Originally posted by indepe View Post
          These are some quite noticeable improvements.
          Are they really?

          WireGuard: 198 vs 203 seconds
          SQLite: 39 vs 40 seconds

          To me, the meaning of "quite noticeable improvements", is when I notice them without having to use a stop watch to compare seconds.

          I don't mean to take the jam out of anyones donut here, and every improvement is welcome. I just don't see how this will be a big game changer.
          Last edited by Beherit; 08-11-2020, 12:56 AM. Reason: typo

          Comment


          • #6
            Originally posted by Beherit View Post
            Are they really?

            WireGuard: 198 vs 203 seconds
            SQLite: 39 vs 40 seconds

            To me, the meaning of "quite noticeable improvements", is when I notice them without having to use a stop watch to compare seconds.

            I don't mean to take the jam out of anyones donut here, and every improvement is welcome. I just don't see how this will be a big game changer.
            Did you pick two of the smallest differences? Even so, it usually takes a lot of work to get that kind of improvement in a codebase like that.
            Relative to the kind of change that was done, I'd actually call it a huge difference, also looking at the other numbers. What kind of "game changer" would you have in mind? I guess we just have different kind of expectations about what it takes to increase the performance of an operating system.

            Comment


            • #7
              Originally posted by Beherit View Post
              Are they really?

              WireGuard: 198 vs 203 seconds
              SQLite: 39 vs 40 seconds

              To me, the meaning of "quite noticeable improvements", is when I notice them without having to use a stop watch to compare seconds.

              I don't mean to take the jam out of anyones donut here, and every improvement is welcome. I just don't see how this will be a big game changer.
              If it was a optimization which only improved WireGuard or SQLite I would agree, but in this case we are talking about improving the speed of context switching which is a very common code path. So even if it's mostly small improvements the overall gain is large because it improves so many different workloads.
              Cloud providers like Microsoft also probably disagrees about your definition of "noticable improvement". They will instead see a significant improvement on their electricity bill.

              Regardless of my opinion here though, it did increase the performance of Redis LPOP by 2x if you want to experience this improvement without a stopwatch.

              Comment


              • #8
                Originally posted by sheepdestroyer View Post
                Please also include (no-mitigations + FSGSBASE) against the other configurations in you incoming benchmark.
                I'm interested in looking at best case performance
                Please also add one or two recent AMD cpus to the test.

                Comment


                • #9
                  Originally posted by Beherit View Post
                  Are they really?

                  WireGuard: 198 vs 203 seconds
                  SQLite: 39 vs 40 seconds

                  To me, the meaning of "quite noticeable improvements", is when I notice them without having to use a stop watch to compare seconds.

                  I don't mean to take the jam out of anyones donut here, and every improvement is welcome. I just don't see how this will be a big game changer.
                  Remember it's the OS, not the workload itself.

                  The OS should, theoretically, be as efficient as possible and most of the delay should come from the workload itself.

                  So when you are cutting entire seconds from the OS, these are big improvements.

                  Comment

                  Working...
                  X