06 Dec, 2015

7 commits


08 Oct, 2015

1 commit


07 Oct, 2015

3 commits

  • This commit rids the documentation of long-obsolete torture_type options
    such as rcu_sync and adds new ones such as tasks. Also add verbiage
    noting the fact that rcutorture now concurrently tests the asynchrounous,
    synchronous, expedited synchronous, and polling grace-period primitives.

    Reported-by: David Miller
    Signed-off-by: Paul E. McKenney
    Acked-by: David Miller
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     
  • As there is lots of misinformation and outdated information on the
    Internet about nearly all topics related to the kernel, I thought it
    would be best if I based my RCU code on the guidelines of the examples
    in the Documentation/ tree of the latest kernel. One thing that stuck
    out when reading the whatisRCU.txt document was, "interesting how we
    don't need any function to dereference rcu protected pointers when doing
    updates if a lock is held. I wonder how static analyzers will work with
    that." Then, a few weeks later, upon discovering sparse's __rcu support,
    I ran it over my code, and lo and behold, things weren't done right.
    Examining other RCU usages in the kernel reveal consistent usage of
    rcu_dereference_protected, passing in lockdep_is_held as the
    conditional. So, this patch adds that idiom to the documentation, so
    that others ahead of me won't endure the same exercise.

    Signed-off-by: Jason A. Donenfeld
    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Jason A. Donenfeld
     
  • The Linux kernel outputs copious text during boot, and a slow serial
    console can result in stall warnings, particularly when messages are
    printed with interrupts disabled. This commit adds this to the list
    of causes of RCU CPU stall warning messages.

    Signed-off-by: Paul E. McKenney
    Reviewed-by: Josh Triplett

    Paul E. McKenney
     

21 Sep, 2015

1 commit


04 Aug, 2015

2 commits


23 Jul, 2015

1 commit


18 Jul, 2015

3 commits


16 Jul, 2015

1 commit


25 Jun, 2015

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "The main thing here is Ingo's big subdirectory documenting feature
    support for each architecture. Beyond that, it's the usual pile of
    fixes, tweaks, and small additions"

    * tag 'docs-for-linus' of git://git.lwn.net/linux-2.6: (79 commits)
    doc:md: fix typo in md.txt.
    Documentation/mic/mpssd: don't build x86 userspace when cross compiling
    Documentation/prctl: don't build tsc tests when cross compiling
    Documentation/vDSO: don't build tests when cross compiling
    Doc:ABI/testing: Fix typo in sysfs-bus-fcoe
    Doc: Docbook: Change wikipedia's URL from http to https in scsi.tmpl
    Doc: Change wikipedia's URL from http to https
    Documentation/kernel-parameters: add missing pciserial to the earlyprintk
    Doc:pps: Fix typo in pps.txt
    kbuild : Fix documentation of INSTALL_HDR_PATH
    Documentation: filesystems: updated struct file_operations documentation in vfs.txt
    kbuild: edit explanation of clean-files variable
    Doc: ja_JP: Fix typo in HOWTO
    Move freefall program from Documentation/ to tools/
    Documentation: ARM: EXYNOS: Describe boot loaders interface
    Doc:nfc: Fix typo in nfc-hci.txt
    vfs: Minor documentation fix
    Doc: networking: txtimestamp: fix printf format warning
    Documentation, intel_pstate: Improve legacy mode internal governors description
    Documentation: extend use case for EXPORT_SYMBOL_GPL()
    ...

    Linus Torvalds
     

23 Jun, 2015

1 commit


28 May, 2015

4 commits


16 Jan, 2015

3 commits

  • …rcu.2015.01.06a', 'stall.2015.01.16a' and 'torture.2015.01.11a' into HEAD

    doc.2015.01.07a: Documentation updates.
    fixes.2015.01.15a: Miscellaneous fixes.
    preempt.2015.01.06a: Changes to handling of lists of preempted tasks.
    srcu.2015.01.06a: SRCU updates.
    stall.2015.01.16a: RCU CPU stall-warning updates and fixes.
    torture.2015.01.11a: RCU torture-test updates and fixes.

    Paul E. McKenney
     
  • This commit adds a message that is printed if the relevant grace-period
    kthread has not been able to run for the two seconds preceding the
    stall warning. (The two seconds is double the maximum interval between
    successive bouts of quiescent-state forcing.)

    Signed-off-by: Paul E. McKenney

    Paul E. McKenney
     
  • Although cond_resched_rcu_qs() only applies to TASKS_RCU, it is used
    in places where it would be useful for it to apply to the normal RCU
    flavors, rcu_preempt, rcu_sched, and rcu_bh. This is especially the
    case for workloads that aggressively overload the system, particularly
    those that generate large numbers of RCU updates on systems running
    NO_HZ_FULL CPUs. This commit therefore communicates quiescent states
    from cond_resched_rcu_qs() to the normal RCU flavors.

    Note that it is unfortunately necessary to leave the old ->passed_quiesce
    mechanism in place to allow quiescent states that apply to only one
    flavor to be recorded. (Yes, we could decrement ->rcu_qs_ctr_snap in
    that case, but that is not so good for debugging of RCU internals.)
    In addition, if one of the RCU flavor's grace period has stalled, this
    will invoke rcu_momentary_dyntick_idle(), resulting in a heavy-weight
    quiescent state visible from other CPUs.

    Reported-by: Sasha Levin
    Reported-by: Dave Jones
    Signed-off-by: Paul E. McKenney
    [ paulmck: Merge commit from Sasha Levin fixing a bug where __this_cpu()
    was used in preemptible code. ]

    Paul E. McKenney
     

07 Jan, 2015

2 commits

  • The current RCU CPU stall warning code will print "Stall ended before
    state dump start" any time that the stall-warning code is triggered on
    a CPU that has already reported a quiescent state for the current grace
    period and if all quiescent states have been reported for the current
    grace period. However, a true stall can result in these symptoms, for
    example, by preventing RCU's grace-period kthreads from ever running

    This commit therefore checks for this condition, reporting the end of
    the stall only if one of the grace-period counters has actually advanced.
    Otherwise, it reports the last time that the grace-period kthread made
    meaningful progress. (In normal situations, the grace-period kthread
    should make meaningful progress at least every jiffies_till_next_fqs
    jiffies.)

    Reported-by: Miroslav Benes
    Signed-off-by: Paul E. McKenney
    Tested-by: Miroslav Benes

    Paul E. McKenney
     
  • Commit 6bfc09e2327d ("rcu: Provide RCU CPU stall warnings for tiny RCU")
    moved the rcu_cpu_stall_timeout module parameter from rcutree.c to
    rcupdate.c, but failed to update Documentation/RCU/stallwarn.txt. This
    commit therefore repairs this omission.

    commit 96224daa16d6 ("documentation: Update sysfs path for rcu_cpu_stall_suppress")
    updated the path for rcu_cpu_stall_suppress, but failed to update for
    rcu_cpu_stall_timeout.

    Signed-off-by: Xie XiuQi
    Signed-off-by: Paul E. McKenney

    Xie XiuQi
     

14 Nov, 2014

1 commit


30 Oct, 2014

1 commit


29 Oct, 2014

1 commit

  • The CONFIG_RCU_CPU_STALL_VERBOSE Kconfig parameter causes preemptible
    RCU's CPU stall warnings to dump out any preempted tasks that are blocking
    the current RCU grace period. This information is useful, and the default
    has been CONFIG_RCU_CPU_STALL_VERBOSE=y for some years. It is therefore
    time for this commit to remove this Kconfig parameter, so that future
    kernel builds will always act as if CONFIG_RCU_CPU_STALL_VERBOSE=y.

    Signed-off-by: Paul E. McKenney

    Paul E. McKenney
     

08 Sep, 2014

1 commit


07 Aug, 2014

1 commit

  • All other add functions for lists have the new item as first argument
    and the position where it is added as second argument. This was changed
    for no good reason in this function and makes using it unnecessary
    confusing.

    The name was changed to hlist_add_behind() to cause unconverted code to
    generate a compile error instead of using the wrong parameter order.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Ken Helias
    Cc: "Paul E. McKenney"
    Acked-by: Jeff Kirsher [intel driver bits]
    Cc: Hugh Dickins
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ken Helias
     

08 Jul, 2014

2 commits


29 Apr, 2014

3 commits