ANDROID: sched/rt: Add Kconfig option to enable panicking fo... [chromiumos/third_party/kernel : chromeos-4.4]

146 views
Skip to first unread message

Sonny Rao (Gerrit)

unread,
Dec 14, 2016, 5:05:20 AM12/14/16
to John Stultz

Sonny Rao would like John Stultz to review this change.

View Change

ANDROID: sched/rt: Add Kconfig option to enable panicking for RT throttling

This may be useful for detecting and debugging RT throttling issues.

BUG=chrome-os-partner:58667
TEST=build/boot on kevin

Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
Signed-off-by: Matt Wagantall <ma...@codeaurora.org>
[rameez...@codeaurora.org]: Port to msm-3.18]
Signed-off-by: Syed Rameez Mustafa <rameez...@codeaurora.org>
[jstultz: forwardported to 4.4]
Signed-off-by: John Stultz <john....@linaro.org>
(cherry picked from commit 2a4445395f1be46db1200e1329fae06d034675e
 from android-msm/android-4.4.y)
Signed-off-by: Sonny Rao <sonn...@chromium.org>
---
M kernel/sched/rt.c
M lib/Kconfig.debug
2 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index 2b9121e..8a16cba 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -924,7 +924,16 @@
 		idx = find_next_bit(array->bitmap, MAX_RT_PRIO, idx + 1);
 	}
 out:
+#ifdef CONFIG_PANIC_ON_RT_THROTTLING
+	/*
+	 * Use pr_err() in the BUG() case since printk_sched() will
+	 * not get flushed and deadlock is not a concern.
+	 */
+	pr_err("%s", buf);
+	BUG();
+#else
 	printk_deferred("%s", buf);
+#endif
 }
 
 static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq)
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index c8909ca..02f77ac 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -867,6 +867,15 @@
 	bool
 	default n
 
+config PANIC_ON_RT_THROTTLING
+	bool "Panic on RT throttling"
+	help
+	  Say Y here to enable the kernel to panic when a realtime
+	  runqueue is throttled. This may be useful for detecting
+	  and debugging RT throttling issues.
+
+	  Say N if unsure.
+
 config SCHEDSTATS
 	bool "Collect scheduler statistics"
 	depends on DEBUG_KERNEL && PROC_FS

To view, visit this change. To unsubscribe, visit settings.

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
Gerrit-Change-Number: 420083
Gerrit-PatchSet: 1
Gerrit-Project: chromiumos/third_party/kernel
Gerrit-Branch: chromeos-4.4
Gerrit-Owner: Sonny Rao <sonn...@chromium.org>Gerrit-Reviewer: John Stultz <john....@linaro.org>

Dmitry Torokhov (Gerrit)

unread,
Dec 21, 2016, 2:18:57 AM12/21/16
to Sonny Rao, John Stultz

Dmitry Torokhov posted comments on this change.

View Change

Patch Set 4: Code-Review+2

    To view, visit this change. To unsubscribe, visit settings.

    Gerrit-MessageType: comment
    Gerrit-Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
    Gerrit-Change-Number: 420083
    Gerrit-PatchSet: 4
    Gerrit-Project: chromiumos/third_party/kernel
    Gerrit-Branch: chromeos-4.4
    Gerrit-Owner: Sonny Rao <sonn...@chromium.org>Gerrit-Reviewer: Dmitry Torokhov <dt...@chromium.org>Gerrit-Reviewer: John Stultz <john....@linaro.org>

    Gerrit-Comment-Date: Wed, 21 Dec 2016 07:10:02 +0000Gerrit-HasComments: No

    Sonny Rao (Gerrit)

    unread,
    Dec 21, 2016, 2:51:21 AM12/21/16
    to John Stultz

    Sonny Rao uploaded patch set #3 to this change.

    View Change

    ANDROID: sched/rt: Add Kconfig option to enable panicking for RT throttling
    
    This may be useful for detecting and debugging RT throttling issues.
    
    BUG=chrome-os-partner:58667
    TEST=build/boot on kevin
    
    Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
    Signed-off-by: Matt Wagantall <ma...@codeaurora.org>
    [rameez...@codeaurora.org]: Port to msm-3.18]
    Signed-off-by: Syed Rameez Mustafa <rameez...@codeaurora.org>
    [jstultz: forwardported to 4.4]
    Signed-off-by: John Stultz <john....@linaro.org>
    (cherry picked from commit 2a4445395f1be46db1200e1329fae06d034675e
     from android-msm/android-4.4.y)
    Signed-off-by: Sonny Rao <sonn...@chromium.org>
    ---
    M kernel/sched/rt.c
    M lib/Kconfig.debug
    2 files changed, 18 insertions(+), 0 deletions(-)
    
    

    To view, visit this change. To unsubscribe, visit settings.

    Gerrit-MessageType: newpatchset
    Gerrit-Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
    Gerrit-Change-Number: 420083
    Gerrit-PatchSet: 3
    Gerrit-Project: chromiumos/third_party/kernel
    Gerrit-Branch: chromeos-4.4

    Sonny Rao (Gerrit)

    unread,
    Dec 21, 2016, 2:56:03 PM12/21/16
    to Dmitry Torokhov, John Stultz

    Sonny Rao posted comments on this change.

    View Change

    Patch Set 5: Verified+1

      To view, visit this change. To unsubscribe, visit settings.

      Gerrit-MessageType: comment
      Gerrit-Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
      Gerrit-Change-Number: 420083
      Gerrit-PatchSet: 5
      Gerrit-Project: chromiumos/third_party/kernel
      Gerrit-Branch: chromeos-4.4
      Gerrit-Owner: Sonny Rao <sonn...@chromium.org>Gerrit-Reviewer: Dmitry Torokhov <dt...@chromium.org>Gerrit-Reviewer: John Stultz <john....@linaro.org>Gerrit-Reviewer: Sonny Rao <sonn...@chromium.org>

      Gerrit-Comment-Date: Wed, 21 Dec 2016 19:46:54 +0000Gerrit-HasComments: No

      Sonny Rao (Gerrit)

      unread,
      Dec 21, 2016, 2:57:00 PM12/21/16
      to Dmitry Torokhov, John Stultz

      Sonny Rao posted comments on this change.

      View Change

      Patch Set 5: Commit-Queue+1

        To view, visit this change. To unsubscribe, visit settings.

        Gerrit-MessageType: comment
        Gerrit-Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
        Gerrit-Change-Number: 420083
        Gerrit-PatchSet: 5
        Gerrit-Project: chromiumos/third_party/kernel
        Gerrit-Branch: chromeos-4.4


        Gerrit-Owner: Sonny Rao <sonn...@chromium.org>Gerrit-Reviewer: Dmitry Torokhov <dt...@chromium.org>Gerrit-Reviewer: John Stultz <john....@linaro.org>Gerrit-Reviewer: Sonny Rao <sonn...@chromium.org>

        Gerrit-Comment-Date: Wed, 21 Dec 2016 19:51:03 +0000Gerrit-HasComments: No

        Sonny Rao (Gerrit)

        unread,
        Dec 21, 2016, 8:46:09 PM12/21/16
        to ChromeOS Commit Bot, Dmitry Torokhov, John Stultz

        Sonny Rao posted comments on this change.

        View Change

        Patch Set 6: Commit-Queue+1

          To view, visit this change. To unsubscribe, visit settings.

          Gerrit-MessageType: comment
          Gerrit-Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
          Gerrit-Change-Number: 420083
          Gerrit-PatchSet: 6
          Gerrit-Project: chromiumos/third_party/kernel
          Gerrit-Branch: chromeos-4.4
          Gerrit-Owner: Sonny Rao <sonn...@chromium.org>Gerrit-Reviewer: Dmitry Torokhov <dt...@chromium.org>Gerrit-Reviewer: John Stultz <john....@linaro.org>Gerrit-Reviewer: Sonny Rao <sonn...@chromium.org>Gerrit-CC: ChromeOS Commit Bot <chromeos-...@chromium.org>

          Gerrit-Comment-Date: Thu, 22 Dec 2016 01:43:33 +0000Gerrit-HasComments: No

          Sonny Rao (Gerrit)

          unread,
          Dec 21, 2016, 9:18:39 PM12/21/16
          to Dmitry Torokhov, John Stultz

          Sonny Rao uploaded patch set #6 to this change.

          View Change

          ANDROID: sched/rt: Add Kconfig option to enable panicking for RT throttling
          
          This may be useful for detecting and debugging RT throttling issues.
          
          BUG=chrome-os-partner:58667
          TEST=build/boot on kevin
          
          Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
          Signed-off-by: Matt Wagantall <ma...@codeaurora.org>
          [rameez...@codeaurora.org]: Port to msm-3.18]
          Signed-off-by: Syed Rameez Mustafa <rameez...@codeaurora.org>
          [jstultz: forwardported to 4.4]
          Signed-off-by: John Stultz <john....@linaro.org>
          (cherry picked from commit 2a4445395f1be46db1200e1329fae06d034675e
           from android-msm/android-4.4.y)
          Signed-off-by: Sonny Rao <sonn...@chromium.org>
          ---
          M kernel/sched/rt.c
          M lib/Kconfig.debug
          2 files changed, 18 insertions(+), 0 deletions(-)
          
          

          To view, visit this change. To unsubscribe, visit settings.

          Gerrit-MessageType: newpatchset
          Gerrit-Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
          Gerrit-Change-Number: 420083
          Gerrit-PatchSet: 6
          Gerrit-Project: chromiumos/third_party/kernel
          Gerrit-Branch: chromeos-4.4

          Sonny Rao (Gerrit)

          unread,
          Dec 22, 2016, 4:56:13 AM12/22/16
          to ChromeOS Commit Bot, Dmitry Torokhov, John Stultz

          Sonny Rao posted comments on this change.

          View Change

          Patch Set 7: Commit-Queue+1

            To view, visit this change. To unsubscribe, visit settings.

            Gerrit-MessageType: comment
            Gerrit-Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
            Gerrit-Change-Number: 420083
            Gerrit-PatchSet: 7
            Gerrit-Project: chromiumos/third_party/kernel
            Gerrit-Branch: chromeos-4.4


            Gerrit-Owner: Sonny Rao <sonn...@chromium.org>Gerrit-Reviewer: Dmitry Torokhov <dt...@chromium.org>Gerrit-Reviewer: John Stultz <john....@linaro.org>Gerrit-Reviewer: Sonny Rao <sonn...@chromium.org>Gerrit-CC: ChromeOS Commit Bot <chromeos-...@chromium.org>

            Gerrit-Comment-Date: Thu, 22 Dec 2016 09:54:21 +0000Gerrit-HasComments: No

            Sonny Rao (Gerrit)

            unread,
            Dec 22, 2016, 9:29:30 AM12/22/16
            to ChromeOS Commit Bot, Dmitry Torokhov, John Stultz

            Sonny Rao posted comments on this change.

            View Change

            Patch Set 7: Verified+1

              To view, visit this change. To unsubscribe, visit settings.

              Gerrit-MessageType: comment
              Gerrit-Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
              Gerrit-Change-Number: 420083
              Gerrit-PatchSet: 7
              Gerrit-Project: chromiumos/third_party/kernel
              Gerrit-Branch: chromeos-4.4


              Gerrit-Owner: Sonny Rao <sonn...@chromium.org>Gerrit-Reviewer: Dmitry Torokhov <dt...@chromium.org>Gerrit-Reviewer: John Stultz <john....@linaro.org>Gerrit-Reviewer: Sonny Rao <sonn...@chromium.org>Gerrit-CC: ChromeOS Commit Bot <chromeos-...@chromium.org>

              Gerrit-Comment-Date: Thu, 22 Dec 2016 14:28:23 +0000Gerrit-HasComments: No

              Douglas Anderson (Gerrit)

              unread,
              Dec 22, 2016, 11:03:02 AM12/22/16
              to Sonny Rao, ChromeOS Commit Bot, Dmitry Torokhov, John Stultz

              Douglas Anderson posted comments on this change.

              View Change

              Patch Set 7: Commit-Queue+1

                To view, visit this change. To unsubscribe, visit settings.

                Gerrit-MessageType: comment
                Gerrit-Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
                Gerrit-Change-Number: 420083
                Gerrit-PatchSet: 7
                Gerrit-Project: chromiumos/third_party/kernel
                Gerrit-Branch: chromeos-4.4
                Gerrit-Owner: Sonny Rao <sonn...@chromium.org>Gerrit-Reviewer: Dmitry Torokhov <dt...@chromium.org>Gerrit-Reviewer: Douglas Anderson <dian...@chromium.org>Gerrit-Reviewer: John Stultz <john....@linaro.org>Gerrit-Reviewer: Sonny Rao <sonn...@chromium.org>Gerrit-CC: ChromeOS Commit Bot <chromeos-...@chromium.org>

                Gerrit-Comment-Date: Thu, 22 Dec 2016 16:01:04 +0000Gerrit-HasComments: No

                Douglas Anderson (Gerrit)

                unread,
                Dec 22, 2016, 11:05:39 AM12/22/16
                to Sonny Rao, ChromeOS Commit Bot, Dmitry Torokhov, John Stultz

                Douglas Anderson posted comments on this change.

                View Change

                Patch Set 7: Trybot-Ready+1

                  To view, visit this change. To unsubscribe, visit settings.

                  Gerrit-MessageType: comment
                  Gerrit-Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
                  Gerrit-Change-Number: 420083
                  Gerrit-PatchSet: 7
                  Gerrit-Project: chromiumos/third_party/kernel
                  Gerrit-Branch: chromeos-4.4


                  Gerrit-Owner: Sonny Rao <sonn...@chromium.org>Gerrit-Reviewer: Dmitry Torokhov <dt...@chromium.org>Gerrit-Reviewer: Douglas Anderson <dian...@chromium.org>Gerrit-Reviewer: John Stultz <john....@linaro.org>Gerrit-Reviewer: Sonny Rao <sonn...@chromium.org>Gerrit-CC: ChromeOS Commit Bot <chromeos-...@chromium.org>

                  Gerrit-Comment-Date: Thu, 22 Dec 2016 16:03:23 +0000Gerrit-HasComments: No

                  ChromeOS Commit Bot (Gerrit)

                  unread,
                  Dec 22, 2016, 4:07:40 PM12/22/16
                  to Sonny Rao, Douglas Anderson, Dmitry Torokhov, John Stultz

                  ChromeOS Commit Bot uploaded patch set #8 to this change.

                  View Change

                  ANDROID: sched/rt: Add Kconfig option to enable panicking for RT throttling
                  
                  This may be useful for detecting and debugging RT throttling issues.
                  
                  BUG=chrome-os-partner:58667
                  TEST=build/boot on kevin
                  
                  Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
                  Signed-off-by: Matt Wagantall <ma...@codeaurora.org>
                  [rameez...@codeaurora.org]: Port to msm-3.18]
                  Signed-off-by: Syed Rameez Mustafa <rameez...@codeaurora.org>
                  [jstultz: forwardported to 4.4]
                  Signed-off-by: John Stultz <john....@linaro.org>
                  (cherry picked from commit 2a4445395f1be46db1200e1329fae06d034675e
                   from android-msm/android-4.4.y)
                  Signed-off-by: Sonny Rao <sonn...@chromium.org
                  >
                  Reviewed-on: https://chromium-review.googlesource.com/420083
                  Commit-Ready: Douglas Anderson <dian...@chromium.org>
                  Reviewed-by: Dmitry Torokhov <dt...@chromium.org>
                  ---
                  M kernel/sched/rt.c
                  M lib/Kconfig.debug
                  2 files changed, 18 insertions(+), 0 deletions(-)
                  
                  

                  To view, visit this change. To unsubscribe, visit settings.

                  Gerrit-MessageType: newpatchset
                  Gerrit-Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
                  Gerrit-Change-Number: 420083
                  Gerrit-PatchSet: 8
                  Gerrit-Project: chromiumos/third_party/kernel
                  Gerrit-Branch: chromeos-4.4
                  Gerrit-Owner: Sonny Rao <sonn...@chromium.org>Gerrit-Reviewer: ChromeOS Commit Bot <chromeos-...@chromium.org>Gerrit-Reviewer: Dmitry Torokhov <dt...@chromium.org>Gerrit-Reviewer: Douglas Anderson <dian...@chromium.org>Gerrit-Reviewer: John Stultz <john....@linaro.org>Gerrit-Reviewer: Sonny Rao <sonn...@chromium.org>

                  ChromeOS Commit Bot (Gerrit)

                  unread,
                  Dec 22, 2016, 4:09:17 PM12/22/16
                  to Sonny Rao, Douglas Anderson, Dmitry Torokhov, John Stultz

                  ChromeOS Commit Bot merged this change.

                  View Change

                  Approvals: Dmitry Torokhov: Looks good to me, approved
                  ANDROID: sched/rt: Add Kconfig option to enable panicking for RT throttling
                  
                  This may be useful for detecting and debugging RT throttling issues.
                  
                  BUG=chrome-os-partner:58667
                  TEST=build/boot on kevin
                  
                  Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
                  Signed-off-by: Matt Wagantall <ma...@codeaurora.org>
                  [rameez...@codeaurora.org]: Port to msm-3.18]
                  Signed-off-by: Syed Rameez Mustafa <rameez...@codeaurora.org>
                  [jstultz: forwardported to 4.4]
                  Signed-off-by: John Stultz <john....@linaro.org>
                  (cherry picked from commit 2a4445395f1be46db1200e1329fae06d034675e
                   from android-msm/android-4.4.y)
                  Signed-off-by: Sonny Rao <sonn...@chromium.org
                  >
                  Reviewed-on: https://chromium-review.googlesource.com/420083
                  Commit-Ready: Douglas Anderson <dian...@chromium.org>
                  Reviewed-by: Dmitry Torokhov <dt...@chromium.org>
                  ---
                  M kernel/sched/rt.c
                  M lib/Kconfig.debug
                  2 files changed, 18 insertions(+), 0 deletions(-)
                  
                  
                  diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
                  index 2b9121e..8a16cba 100644
                  --- a/kernel/sched/rt.c
                  +++ b/kernel/sched/rt.c
                  @@ -924,7 +924,16 @@
                   		idx = find_next_bit(array->bitmap, MAX_RT_PRIO, idx + 1);
                   	}
                   out:
                  +#ifdef CONFIG_PANIC_ON_RT_THROTTLING
                  +	/*
                  +	 * Use pr_err() in the BUG() case since printk_sched() will
                  +	 * not get flushed and deadlock is not a concern.
                  +	 */
                  +	pr_err("%s", buf);
                  +	BUG();
                  +#else
                   	printk_deferred("%s", buf);
                  +#endif
                   }
                   
                   static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq)
                  diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
                  index 168e396..32facd2 100644
                  --- a/lib/Kconfig.debug
                  +++ b/lib/Kconfig.debug
                  @@ -888,6 +888,15 @@
                   	bool
                   	default n
                   
                  +config PANIC_ON_RT_THROTTLING
                  +	bool "Panic on RT throttling"
                  +	help
                  +	  Say Y here to enable the kernel to panic when a realtime
                  +	  runqueue is throttled. This may be useful for detecting
                  +	  and debugging RT throttling issues.
                  +
                  +	  Say N if unsure.
                  +
                   config SCHEDSTATS
                   	bool "Collect scheduler statistics"
                   	depends on DEBUG_KERNEL && PROC_FS
                  

                  To view, visit this change. To unsubscribe, visit settings.

                  Gerrit-MessageType: merged
                  Gerrit-Change-Id: I5807a897d11997d76421c1fcaa2918aad988c6c9
                  Gerrit-Change-Number: 420083
                  Gerrit-PatchSet: 8
                  Gerrit-Project: chromiumos/third_party/kernel
                  Gerrit-Branch: chromeos-4.4

                  Reply all
                  Reply to author
                  Forward
                  0 new messages