This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug runtime/21255] New: "make installcheck" Smoke test fails with Fedora rawhide kernels 4.11.0-0.rc2.git1.1.fc27.x86_64


https://sourceware.org/bugzilla/show_bug.cgi?id=21255

            Bug ID: 21255
           Summary: "make installcheck" Smoke test fails with Fedora
                    rawhide kernels 4.11.0-0.rc2.git1.1.fc27.x86_64
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: runtime
          Assignee: systemtap at sourceware dot org
          Reporter: wcohen at redhat dot com
  Target Milestone: ---

With the new rawhide kernels there are a couple of patches that are preventing
systemtap from working.  The "make installcheck" smoke test fails due to them.
The first patch can be address with an additional include for linux/sched/mm.h
in the systemtap runtime.  However, the second removes  __set_task_state()
which looks like it might be more difficult to address.

Author: Ingo Molnar <mingo@kernel.org>  2017-02-08 12:51:54
Committer: Ingo Molnar <mingo@kernel.org>  2017-03-02 19:45:29
Parent: 5fd73157bdfb57370b69be7c0067f08e610e7daa (sched/headers: Remove
<linux/sched.h> from <linux/sched/autogroup.h>)
Child:  ae1cc8823204bb938d039afa43c28a84591ada9f (sched/headers: Remove
<linux/sched.h> from <linux/sched/coredump.h>)
Branches: master, remotes/origin/master
Follows: v4.10
Precedes: v4.11-rc1

    sched/headers: Remove <linux/sched.h> from <linux/sched/mm.h>

    The <linux/sched/mm.h> file is a self-contained header and users of
    it either don't need <linux/sched.h> - or have already included it.

    Include kernel.h and atomic.h.

    This reduces the size of the header dependency graph.

    Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>



Author: Davidlohr Bueso <dave@stgolabs.net>  2017-01-03 16:43:14
Committer: Ingo Molnar <mingo@kernel.org>  2017-01-14 05:14:16
Parent: d269a8b8c57523a2e328c1ff44fe791e13df3d37 (kernel/locking: Compute
'current' directly)
Child:  8f95c90ceb541a38ac16fec48c05142ef1450c25 (sched/wait, RCU: Introduce
rcuwait machinery)
Branches: master, remotes/origin/master
Follows: v4.10-rc3
Precedes: v4.11-rc1

    sched/core: Remove set_task_state()

    This is a nasty interface and setting the state of a foreign task must
    not be done. As of the following commit:

      be628be0956 ("bcache: Make gc wakeup sane, remove set_task_state()")

    ... everyone in the kernel calls set_task_state() with current, allowing
    the helper to be removed.

    However, as the comment indicates, it is still around for those archs
    where computing current is more expensive than using a pointer, at least
    in theory. An important arch that is affected is arm64, however this has
    been addressed now [1] and performance is up to par making no difference
    with either calls.

    Of all the callers, if any, it's the locking bits that would care most
    about this -- ie: we end up passing a tsk pointer to a lot of the lock
    slowpath, and setting ->state on that. The following numbers are based
    on two tests: a custom ad-hoc microbenchmark that just measures
    latencies (for ~65 million calls) between get_task_state() vs
    get_current_state().

    Secondly for a higher overview, an unlink microbenchmark was used,
    which pounds on a single file with open, close,unlink combos with
    increasing thread counts (up to 4x ncpus). While the workload is quite
    unrealistic, it does contend a lot on the inode mutex or now rwsem.

    [1]
https://lkml.kernel.org/r/1483468021-8237-1-git-send-email-mark.rutland@arm.com

    == 1. x86-64 ==

    Avg runtime set_task_state():    601 msecs
    Avg runtime set_current_state(): 552 msecs

                                                vanilla                 dirty
    Hmean    unlink1-processes-2      36089.26 (  0.00%)    38977.33 (  8.00%)
    Hmean    unlink1-processes-5      28555.01 (  0.00%)    29832.55 (  4.28%)
    Hmean    unlink1-processes-8      37323.75 (  0.00%)    44974.57 ( 20.50%)
    Hmean    unlink1-processes-12     43571.88 (  0.00%)    44283.01 (  1.63%)
    Hmean    unlink1-processes-21     34431.52 (  0.00%)    38284.45 ( 11.19%)
    Hmean    unlink1-processes-30     34813.26 (  0.00%)    37975.17 (  9.08%)
    Hmean    unlink1-processes-48     37048.90 (  0.00%)    39862.78 (  7.59%)
    Hmean    unlink1-processes-79     35630.01 (  0.00%)    36855.30 (  3.44%)
    Hmean    unlink1-processes-110    36115.85 (  0.00%)    39843.91 ( 10.32%)
    Hmean    unlink1-processes-141    32546.96 (  0.00%)    35418.52 (  8.82%)
    Hmean    unlink1-processes-172    34674.79 (  0.00%)    36899.21 (  6.42%)
    Hmean    unlink1-processes-203    37303.11 (  0.00%)    36393.04 ( -2.44%)
    Hmean    unlink1-processes-224    35712.13 (  0.00%)    36685.96 (  2.73%)

    == 2. ppc64le ==

    Avg runtime set_task_state():  938 msecs
    Avg runtime set_current_state: 940 msecs

                                                vanilla                 dirty
    Hmean    unlink1-processes-2      19269.19 (  0.00%)    30704.50 ( 59.35%)
    Hmean    unlink1-processes-5      20106.15 (  0.00%)    21804.15 (  8.45%)
    Hmean    unlink1-processes-8      17496.97 (  0.00%)    17243.28 ( -1.45%)
    Hmean    unlink1-processes-12     14224.15 (  0.00%)    17240.21 ( 21.20%)
    Hmean    unlink1-processes-21     14155.66 (  0.00%)    15681.23 ( 10.78%)
    Hmean    unlink1-processes-30     14450.70 (  0.00%)    15995.83 ( 10.69%)
    Hmean    unlink1-processes-48     16945.57 (  0.00%)    16370.42 ( -3.39%)
    Hmean    unlink1-processes-79     15788.39 (  0.00%)    14639.27 ( -7.28%)
    Hmean    unlink1-processes-110    14268.48 (  0.00%)    14377.40 (  0.76%)
    Hmean    unlink1-processes-141    14023.65 (  0.00%)    16271.69 ( 16.03%)
    Hmean    unlink1-processes-172    13417.62 (  0.00%)    16067.55 ( 19.75%)
    Hmean    unlink1-processes-203    15293.08 (  0.00%)    15440.40 (  0.96%)
    Hmean    unlink1-processes-234    13719.32 (  0.00%)    16190.74 ( 18.01%)
    Hmean    unlink1-processes-265    16400.97 (  0.00%)    16115.22 ( -1.74%)
    Hmean    unlink1-processes-296    14388.60 (  0.00%)    16216.13 ( 12.70%)
    Hmean    unlink1-processes-320    15771.85 (  0.00%)    15905.96 (  0.85%)

    x86-64 (known to be fast for get_current()/this_cpu_read_stable() caching)
    and ppc64 (with paca) show similar improvements in the unlink microbenches.
    The small delta for ppc64 (2ms), does not represent the gains on the unlink
    runs. In the case of x86, there was a decent amount of variation in the
    latency runs, but always within a 20 to 50ms increase), ppc was more
constant.

    Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: dave@stgolabs.net
    Cc: mark.rutland@arm.com
    Link:
http://lkml.kernel.org/r/1483479794-14013-5-git-send-email-dave@stgolabs.net
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

-- 
You are receiving this mail because:
You are the assignee for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]