Announcement

Collapse
No announcement yet.

The Linux 2.6.38-rc3 Kernel Arrives

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

  • The Linux 2.6.38-rc3 Kernel Arrives

    Phoronix: The Linux 2.6.38-rc3 Kernel Arrives

    After Linus released an early Linux 2.6.38-rc2 kernel due to the 2011 Linux.Conf.Au, Linus has released the Linux 2.6.38-rc3 kernel while developers are returning from this Australian conference...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Linux speaks!

    Linux concludes this release candidate with, "So go out and test, we seem to be doing pretty well this release cycle."
    Linux speaks? Makes me think of that IBM commercial with the little boy

    Comment


    • #3
      Since rc3 we all wait for a fglrx patch, up to rc2 fglrx worked... So who has got a working patch for my script?

      Comment


      • #4
        Originally posted by Kano View Post
        Since rc3 we all wait for a fglrx patch, up to rc2 fglrx worked... So who has got a working patch for my script?
        Here's a "quick" patch i made:
        Code:
        --- 11.1/common/lib/modules/fglrx/build_mod/firegl_public.c	2011-01-17 15:59:26.000000000 +0100
        +++ 11.1/common/lib/modules/fglrx/build_mod/firegl_public.c	2011-02-01 16:35:01.000000000 +0100
        @@ -848,7 +848,7 @@
              * happen much less frequent then without this workaround.
              */
             if (state == PM_EVENT_SUSPEND)
        -        acquire_console_sem();
        +        console_lock();
         
             if (firegl_cail_powerdown(privdev, state))
                 ret = -EIO;
        @@ -870,7 +870,7 @@
             }
         
             if (state == PM_EVENT_SUSPEND)
        -        release_console_sem();
        +        console_unlock();
         
             KCL_DEBUG_TRACEOUT(FN_FIREGL_ACPI, ret, NULL);  
             
        @@ -894,7 +894,7 @@
             if (PMSG_EVENT(pdev->dev.power.power_state) == 0) return 0;
         
             if (PMSG_EVENT(pdev->dev.power.power_state) == PM_EVENT_SUSPEND)
        -        acquire_console_sem();
        +        console_lock();
         
         #ifdef FIREGL_USWC_SUPPORT
             // Restore the PAT after resuming from S3 or S4.
        @@ -919,7 +919,7 @@
             firegl_cail_powerup(privdev);
         
             if (PMSG_EVENT(pdev->dev.power.power_state) == PM_EVENT_SUSPEND)
        -        release_console_sem();
        +        console_unlock();
         
             PMSG_EVENT(pdev->dev.power.power_state) = 0;
             KCL_DEBUG_TRACEOUT(FN_FIREGL_ACPI, 0, NULL);
        I'm not notebook owner so i'm not able to say will suspend/resume work fine, although fglrx module will compile fine with it.
        I take this solution from nouveau source.

        Comment


        • #5
          Interesting idea, maybe a bit more generic would be better. Do you know which is the first kernel where this would work?

          Comment


          • #6
            Originally posted by Kano View Post
            Interesting idea, maybe a bit more generic would be better.
            It should work fine.
            acquire_console_sem() was a function used both by fglrx and nouveau, so i guess it's kernel function which was changed by console_lock(). Same for old release_console_sem() and new console_unlock().
            That was the only change in nouveau related with suspend/resume (i compared rc2 and rc3).

            Originally posted by Kano View Post
            Do you know which is the first kernel where this would work?
            Not exactly. I looked at nouveau after i found this: http://pastebin.com/13svcTCh
            And there it's 2.6.38-rc2-git5

            Comment


            • #7
              + i've just checked kernel sources and i can now say even more:
              1. acquire_console_sem() was just renamed to console_lock(), the body of function is the same. And same for release_console_sem() and newer console_unlock().
              2. ie. console_lock() is used more widely in hardware related source files now, so it probably means better suspend/resume support or just bug-fixing

              So now i'm 99% sure that this fglrx patch should work fine

              Comment


              • #8
                Sometimes it looks like kernel devs rename things with the whole purpose of breaking external modules.

                Comment


                • #9
                  I think it also breaks the nvidia blob...

                  Comment


                  • #10
                    No, it doesn't.

                    Comment

                    Working...
                    X