Announcement

Collapse
No announcement yet.

Intel Posts Big Linux Patch Set For "Classes of Tasks" On Hybrid CPUs, Thread Director

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

  • #21
    Originally posted by NobodyXu View Post

    That's not true.

    From nice(2) manpage:
    Find, great, what the fuck are you talking about??

    Should the user learn to use sudo and then setcap to get something which is allowed in other operating systems out of the box? Using simple GUI.

    This is true and your comment is voodoo, irrelevant/unavailable at that for 99.99% of people out there.

    It's now the Nth comment in this discussion which treats Linux as an OS for IT specialists. Guess what, I know tons of them who used Linux in the past and have long migrated to MacOS/Windows because they are fucking tired of dealing with regressions and issues. Linux distros are not an OS, they are a horrible medley of thousands of components a huge number of which are ill-maintained.

    Originally posted by NobodyXu View Post

    That brings us two questions:
    - who is allowed to give these hints (i.e. only same user or CAP_ADMIN)?
    - how to treat these hints? What if these hints are wrong?

    Lastly, arm has switched to big little arch long ago and they didn't seem to need any of this?
    1. No idea, this works out of the box in Windows 11.
    2. No idea, I'm not a programmer. This needs to be implemented in the kernel as well. Hints can be wrong and Windows 11 users and multiple benchmarks can confirm. There's no other way for heterogeneous core architectures, it's their innate unresolvable shortcoming.
    Last edited by birdie; 12 September 2022, 08:22 AM.

    Comment


    • #22
      Originally posted by birdie View Post

      Find, great, what the fuck are you talking about??

      Should the user learn to use sudo and then setcap to get something which is allowed in other operating systems out of the box? Using simple GUI.

      This is true and your comment is voodoo, irrelevant/unavailable at that for 99.99% of people out there.
      Please, do not use f-words.

      According to the quote:

      an unprivileged process can decrease the nice value of a
      target process that has a suitable RLIMIT_NICE soft limit; see getrlimit(2) for details.​​
      so you can decrease the value to the RLIMIT_NICE upper limit.

      The problem here is the default value of RLIMIT_NICE.
      It seems that distros set them to 0, which means that user cannot change it and that is the problem.

      With it sets to 0, you indeed cannot change that.

      Originally posted by birdie View Post
      It's now the Nth comment in this discussion which treats Linux as an OS for IT specialists. Guess what, I know tons of them who used Linux in the past and have long migrated to MacOS/Windows because they are fucking tired of dealing with regressions and issues. Linux distros are not an OS, they are a horrible medley of thousands of components a huge number of which are ill-maintained.


      That's off-topic.

      Originally posted by birdie View Post
      1. No idea, this works out of the box in Windows 11.
      I read somewhere on this forum that windows simply put foreground to P cores and background to E cores.
      Now this obviously can be very wrong, but IMO a better version would be put foreground to P cores only.

      It's easy on windows because the whole GUI stuff is put into the kernel instead of running in the userspace, so windows don't need any userspace software nor do they care about permission, etc because the GUI is in kernel.

      On linux, you would need to design a new mechanism with reasonable permission checking and a bit resistant to bad hinting.
      As it turns out, hinting done wrong is more harmful than not hinting at all and the scheduler can get smarter all the time, so I'm not exactly sure which direction it would take.

      Originally posted by birdie View Post
      2. No idea, I'm not a programmer. This needs to be implemented in the kernel as well. Hints can be wrong and Windows 11 users and multiple benchmarks can confirm.
      Ok then...
      So why don't you just relax a bit and let the software devs do their job?

      Originally posted by birdie View Post
      There's no other way for heterogeneous core architectures, it's their innate unresolvable shortcoming.
      Android has been using heterogeneous core for a long time and I did not find any userspace scheduler.
      The most recent effort I found is "Energy Aware Scheduling" https://www.kernel.org/doc/html/late...ed-energy.html

      It seems that they were able to leverage heterogeneous core architectures by modifing Completely Fair Scheduler (CFS), by putting more demanding tasks to P-core.
      It is not very difficult to do that after all, scheduler monitors the time a process has been running within a timeslice, number of syscalls issued within that timeslice and other statistics all the time so it has the information to do so.

      It can already migrate tasks away from a core to put it to sleep, so IMHO it can also balance the tasks to put more demanding ones to P-cores.
      Checking the how much of the timeslice is consumed by the process may as well served as a good heuristics.
      The number of syscalls within the timeslice can be used to determine how IO-heavy that task is, could put IO-heavy tasks onto the E-cores as I/O is way slower than the CPU.

      Comment


      • #23
        birdie Check out this article https://www.phoronix.com/news/Google...nux-Scheduling
        It's interesting and it might become what you are asking.
        So it is essentially an attempt to run part of the scheduler in the userspace, by using eBPF to simplify the hooking and improve performance.
        That might be what you are looking for.

        Comment


        • #24
          Originally posted by NobodyXu View Post
          birdie Check out this article https://www.phoronix.com/news/Google...nux-Scheduling
          It's interesting and it might become what you are asking.
          So it is essentially an attempt to run part of the scheduler in the userspace, by using eBPF to simplify the hooking and improve performance.
          That might be what you are looking for.
          Looks like it. Won't comment on your previous post since I'm in a very rough spot right now and I can't really think. I'm about to become handicapped and it's really hard to accept and live through it.

          Comment


          • #25
            Originally posted by birdie View Post

            Looks like it. Won't comment on your previous post since I'm in a very rough spot right now and I can't really think. I'm about to become handicapped and it's really hard to accept and live through it.
            Seriously, what do You mean by that, Artem?

            Becoming handicapped is one of the things I'm actually scared of in life...

            Really hope You will be fine!

            Comment


            • #26
              Originally posted by Linuxxx View Post

              Seriously, what do You mean by that, Artem?

              Becoming handicapped is one of the things I'm actually scared of in life...

              Really hope You will be fine!
              Torn meniscus, cyst, pain in the knee, unable to walk, stuff like this. For some reasons our knees (and other joints) are very fragile and very hard or often impossible to fix/cure. I'd be OK to deal with something like this if I were a sportsman, did some crazy stuff, or I were past 50 or obese, but no, nothing like that. I'm normally only walking and swimming for a week once a year.
              Last edited by birdie; 14 September 2022, 03:19 AM.

              Comment


              • #27
                Originally posted by NobodyXu View Post
                Android has been using heterogeneous core for a long time and I did not find any userspace scheduler.
                The most recent effort I found is "Energy Aware Scheduling" https://www.kernel.org/doc/html/late...ed-energy.html
                I can't find a good source for what it does to the CPU scheduler, but Android has an extensive userspace process priority thing. Most of the documentation centers around app killing under memory pressure (h/t Guest​'s point about mathematical representation of performance to developers) , but circumstantial evidience suggests it uses the utilization clamping feature to "manage" the behavior of the CPU frequency governor.

                Comment


                • #28
                  Originally posted by yump View Post

                  I can't find a good source for what it does to the CPU scheduler, but Android has an extensive userspace process priority thing. Most of the documentation centers around app killing under memory pressure (h/t Guest​'s point about mathematical representation of performance to developers) , but circumstantial evidience suggests it uses the utilization clamping feature to "manage" the behavior of the CPU frequency governor.
                  Thank you very much for the information!

                  Comment


                  • #29
                    Originally posted by birdie View Post
                    Torn meniscus, cyst, pain in the knee, unable to walk, stuff like this.
                    If there's *excessive* pain, find a decent pain specialist and investigate a CRPS diagnosis immediately. The success rate for treatment drops sharply after ~3 months, and continues to plummet after that. Since it's literally the worst pain known to man you very much do not want to end up there, and early intervention is crucial if you develop it.

                    Comment


                    • #30
                      Originally posted by NobodyXu View Post
                      >> Lastly, the Linux kernel does not allow the user to raise the priority of the task once it's been decreased which makes things even more complicated.

                      That's not true.
                      Sorry, but it is. If you nice a process down, you cannot even restore it *to its original priority*, other than via root/sudo privs. It's an absurd bug that should have been fixed decades ago. The reasoning behind not allowing it is "sensible", but that doesn't make it any less broken.

                      Comment

                      Working...
                      X