lkml.org 
[lkml]   [2020]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.5 310/542] kunit: remove timeout dependence on sysctl_hung_task_timeout_seconds
    Date
    From: Alan Maguire <alan.maguire@oracle.com>

    [ Upstream commit 1c024d45151b51c8f8d4749e65958b0bcf3e7c52 ]

    In discussion of how to handle timeouts, it was noted that if
    sysctl_hung_task_timeout_seconds is exceeded for a kunit test,
    the test task will be killed and an oops generated. This should
    suffice as a means of debugging such timeout issues for now.

    Hence remove use of sysctl_hung_task_timeout_secs, which has the
    added benefit of avoiding the need to export that symbol from
    the core kernel.

    Co-developed-by: Knut Omang <knut.omang@oracle.com>
    Signed-off-by: Knut Omang <knut.omang@oracle.com>
    Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
    Reviewed-by: Stephen Boyd <sboyd@kernel.org>
    Acked-by: Brendan Higgins <brendanhiggins@google.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    lib/kunit/try-catch.c | 22 ++++------------------
    1 file changed, 4 insertions(+), 18 deletions(-)

    diff --git a/lib/kunit/try-catch.c b/lib/kunit/try-catch.c
    index 55686839eb619..6b9c5242017f6 100644
    --- a/lib/kunit/try-catch.c
    +++ b/lib/kunit/try-catch.c
    @@ -12,7 +12,6 @@
    #include <linux/completion.h>
    #include <linux/kernel.h>
    #include <linux/kthread.h>
    -#include <linux/sched/sysctl.h>

    void __noreturn kunit_try_catch_throw(struct kunit_try_catch *try_catch)
    {
    @@ -31,8 +30,6 @@ static int kunit_generic_run_threadfn_adapter(void *data)

    static unsigned long kunit_test_timeout(void)
    {
    - unsigned long timeout_msecs;
    -
    /*
    * TODO(brendanhiggins@google.com): We should probably have some type of
    * variable timeout here. The only question is what that timeout value
    @@ -49,22 +46,11 @@ static unsigned long kunit_test_timeout(void)
    *
    * For more background on this topic, see:
    * https://mike-bland.com/2011/11/01/small-medium-large.html
    + *
    + * If tests timeout due to exceeding sysctl_hung_task_timeout_secs,
    + * the task will be killed and an oops generated.
    */
    - if (sysctl_hung_task_timeout_secs) {
    - /*
    - * If sysctl_hung_task is active, just set the timeout to some
    - * value less than that.
    - *
    - * In regards to the above TODO, if we decide on variable
    - * timeouts, this logic will likely need to change.
    - */
    - timeout_msecs = (sysctl_hung_task_timeout_secs - 1) *
    - MSEC_PER_SEC;
    - } else {
    - timeout_msecs = 300 * MSEC_PER_SEC; /* 5 min */
    - }
    -
    - return timeout_msecs;
    + return 300 * MSEC_PER_SEC; /* 5 min */
    }

    void kunit_try_catch_run(struct kunit_try_catch *try_catch, void *context)
    --
    2.20.1
    \
     
     \ /
      Last update: 2020-02-14 19:11    [W:2.300 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site