25 Jan, 2020

2 commits


11 Dec, 2019

7 commits


29 Oct, 2019

9 commits

  • While Paul was explaining some RCU magic I noticed a typo in
    rcu_note_context_switch(). As a result, this commit replaces
    rcu_node_context_switch() with rcu_note_context_switch().

    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Paul E. McKenney

    Sebastian Andrzej Siewior
     
  • This commit updates the documentation with information about
    usage of lockdep with list_for_each_entry_rcu().

    Signed-off-by: Joel Fernandes (Google)
    [ paulmck: Wordsmithing. ]
    Signed-off-by: Paul E. McKenney

    Joel Fernandes (Google)
     
  • This restores docs back in ReST format.

    Signed-off-by: Joel Fernandes (Google)
    [ paulmck: Added Joel's SoB per Stephen Rothwell feedback. ]
    [ paulmck: Joel approved via private email. ]
    Signed-off-by: Paul E. McKenney

    Joel Fernandes (Google)
     
  • This restores docs back in ReST format.

    Signed-off-by: Joel Fernandes (Google)
    [ paulmck: Added Joel's SoB per Stephen Rothwell feedback. ]
    [ paulmck: Joel approved via private email. ]
    Signed-off-by: Paul E. McKenney

    Joel Fernandes (Google)
     
  • These documents are long and have various sections. Provide a good
    toc nesting level.

    Signed-off-by: Joel Fernandes (Google)
    Signed-off-by: Paul E. McKenney

    Joel Fernandes (Google)
     
  • Mauro's auto conversion broken these links, fix them.

    Signed-off-by: Joel Fernandes (Google)
    Signed-off-by: Paul E. McKenney

    Joel Fernandes (Google)
     
  • There are 4 RCU articles that are written on html format.

    The way they are, they can't be part of the Linux Kernel
    documentation body nor share the styles and pdf output.

    So, convert them to ReST format.

    This way, make htmldocs and make pdfdocs will produce a
    documentation output that will be like the original ones, but
    will be part of the Linux Kernel documentation body.

    Part of the conversion was done with the help of pandoc, but
    the result had some broken things that had to be manually
    fixed.

    Following are manual changes Mauro made when doing the automatic conversion:
    Quoting from: https://lore.kernel.org/rcu/20190726154550.5eeae294@coco.lan/

    > > At least the pandoc's version I used here has a bug: its conversion
    > > from html to ReST on those files only start after a tag - or
    > > when the first quiz table starts. I only discovered that adding a
    > > at the beginning of the file solve this book at the last
    > > conversions.
    > >
    > > So, for most html->ReST conversions, I manually converted the first
    > > part of the document, basically stripping html paragraph tags and
    > > by replacing highlights by the ReST syntax.
    > >
    > > Also, all the quiz tables seem to assume some javascript macro or
    > > css style that would be hiding the answer part until the mouse moves
    > > to it. Such macro/css was not there at the kernel tree. So, the quiz
    > > answers have the same color as the background, making them invisible.
    > > Even if we had such macro/css, this is not portable for pdf/LaTeX output
    > > (and I'm not sure if this would work with ePub).
    > >
    > > So, I ended by manually doing the table conversion.
    > >
    > > Finally, I double-checked if the conversions ended ok, addressing any
    > > issues that might have heppened.
    > >
    > > So, after both automatic conversion and manual fixes, I opened both the
    > > html files produced by Sphinx and the original ones and compared them
    > > line per line (except for the indexes, as Sphinx produces them
    > > automatically), in order to see if all information from the original
    > > files will be there on a format close to what we have on other ReST
    > > files, fixing any pending issues if any.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Paul E. McKenney

    Mauro Carvalho Chehab
     
  • This reverts docs from commit 355e9972da81e803bbb825b76106ae9b358caf8e.

    Signed-off-by: Joel Fernandes (Google)
    [ paulmck: Added Joel's SoB per Stephen Rothwell feedback. ]
    [ paulmck: Joel approved via private email. ]
    Signed-off-by: Paul E. McKenney

    Joel Fernandes (Google)
     
  • This reverts docs from commit d6b9cd7dc8e041ee83cb1362fce59a3cdb1f2709.

    Signed-off-by: Joel Fernandes (Google)
    [ paulmck: Added Joel's SoB per Stephen Rothwell feedback. ]
    [ paulmck: Joel approved via private email. ]
    Signed-off-by: Paul E. McKenney

    Joel Fernandes (Google)
     

14 Aug, 2019

1 commit


02 Aug, 2019

3 commits

  • The rcu_dereference_raw_notrace() API name is confusing. It is equivalent
    to rcu_dereference_raw() except that it also does sparse pointer checking.

    There are only a few users of rcu_dereference_raw_notrace(). This patches
    renames all of them to be rcu_dereference_raw_check() with the "_check()"
    indicating sparse checking.

    Signed-off-by: Joel Fernandes (Google)
    [ paulmck: Fix checkpatch warnings about parentheses. ]
    Signed-off-by: Paul E. McKenney

    Joel Fernandes (Google)
     
  • This commit adds mention of the rcutree.kthread_prio kernel boot parameter
    to the discussion of how high-priority real-time tasks can result in
    RCU CPU stall warnings. (However, this does not necessarily help when
    the high-priority real-time tasks are using dubious deadlines.)

    Signed-off-by: Paul E. McKenney

    Paul E. McKenney
     
  • Commit bb73c52bad36 ("rcu: Don't disable preemption for Tiny and Tree
    RCU readers") removed the barrier() calls from rcu_read_lock() and
    rcu_write_lock() in CONFIG_PREEMPT=n&&CONFIG_PREEMPT_COUNT=n kernels.
    Within RCU, this commit was OK, but it failed to account for things like
    get_user() that can pagefault and that can be reordered by the compiler.
    Lack of the barrier() calls in rcu_read_lock() and rcu_read_unlock()
    can cause these page faults to migrate into RCU read-side critical
    sections, which in CONFIG_PREEMPT=n kernels could result in too-short
    grace periods and arbitrary misbehavior. Please see commit 386afc91144b
    ("spinlocks and preemption points need to be at least compiler barriers")
    and Linus's commit 66be4e66a7f4 ("rcu: locking and unlocking need to
    always be at least barriers"), this last of which restores the barrier()
    call to both rcu_read_lock() and rcu_read_unlock().

    This commit removes barrier() calls that are no longer needed given that
    the addition of them in Linus's commit noted above. The combination of
    this commit and Linus's commit effectively reverts commit bb73c52bad36
    ("rcu: Don't disable preemption for Tiny and Tree RCU readers").

    Reported-by: Herbert Xu
    Reported-by: Linus Torvalds
    Signed-off-by: Paul E. McKenney
    [ paulmck: Fix embarrassing typo located by Alan Stern. ]

    Paul E. McKenney
     

17 Jul, 2019

1 commit


10 Jul, 2019

1 commit

  • Pull Documentation updates from Jonathan Corbet:
    "It's been a relatively busy cycle for docs:

    - A fair pile of RST conversions, many from Mauro. These create more
    than the usual number of simple but annoying merge conflicts with
    other trees, unfortunately. He has a lot more of these waiting on
    the wings that, I think, will go to you directly later on.

    - A new document on how to use merges and rebases in kernel repos,
    and one on Spectre vulnerabilities.

    - Various improvements to the build system, including automatic
    markup of function() references because some people, for reasons I
    will never understand, were of the opinion that
    :c:func:``function()`` is unattractive and not fun to type.

    - We now recommend using sphinx 1.7, but still support back to 1.4.

    - Lots of smaller improvements, warning fixes, typo fixes, etc"

    * tag 'docs-5.3' of git://git.lwn.net/linux: (129 commits)
    docs: automarkup.py: ignore exceptions when seeking for xrefs
    docs: Move binderfs to admin-guide
    Disable Sphinx SmartyPants in HTML output
    doc: RCU callback locks need only _bh, not necessarily _irq
    docs: format kernel-parameters -- as code
    Doc : doc-guide : Fix a typo
    platform: x86: get rid of a non-existent document
    Add the RCU docs to the core-api manual
    Documentation: RCU: Add TOC tree hooks
    Documentation: RCU: Rename txt files to rst
    Documentation: RCU: Convert RCU UP systems to reST
    Documentation: RCU: Convert RCU linked list to reST
    Documentation: RCU: Convert RCU basic concepts to reST
    docs: filesystems: Remove uneeded .rst extension on toctables
    scripts/sphinx-pre-install: fix out-of-tree build
    docs: zh_CN: submitting-drivers.rst: Remove a duplicated Documentation/
    Documentation: PGP: update for newer HW devices
    Documentation: Add section about CPU vulnerabilities for Spectre
    Documentation: platform: Delete x86-laptop-drivers.txt
    docs: Note that :c:func: should no longer be used
    ...

    Linus Torvalds
     

28 Jun, 2019

1 commit

  • The UP.rst file calls for locks acquired within RCU callback functions
    to use _irq variants (spin_lock_irqsave() or similar), which does work,
    but can be overkill. This commit therefore instead calls for _bh variants
    (spin_lock_bh() or similar), while noting that _irq does work.

    Signed-off-by: Paul E. McKenney
    Signed-off-by: Jiunn Chang
    Signed-off-by: Jonathan Corbet

    Jiunn Chang
     

27 Jun, 2019

5 commits


20 Jun, 2019

1 commit


14 Jun, 2019

1 commit

  • Quoting Paul [1]:

    "Given that a quick (and perhaps error-prone) search of the uses
    of rcu_assign_pointer() in v5.1 didn't find a single use of the
    return value, let's please instead change the documentation and
    implementation to eliminate the return value."

    [1] https://lkml.kernel.org/r/20190523135013.GL28207@linux.ibm.com

    Signed-off-by: Andrea Parri
    Cc: "Paul E. McKenney"
    Cc: Josh Triplett
    Cc: Steven Rostedt
    Cc: Mathieu Desnoyers
    Cc: Lai Jiangshan
    Cc: Joel Fernandes
    Cc: rcu@vger.kernel.org
    Cc: Peter Zijlstra
    Cc: Will Deacon
    Cc: Mark Rutland
    Cc: Matthew Wilcox
    Cc: Sasha Levin
    Signed-off-by: Paul E. McKenney

    Andrea Parri
     

29 May, 2019

2 commits


27 Mar, 2019

4 commits


10 Mar, 2019

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "A fairly routine cycle for docs - lots of typo fixes, some new
    documents, and more translations. There's also some LICENSES
    adjustments from Thomas"

    * tag 'docs-5.1' of git://git.lwn.net/linux: (74 commits)
    docs: Bring some order to filesystem documentation
    Documentation/locking/lockdep: Drop last two chars of sample states
    doc: rcu: Suspicious RCU usage is a warning
    docs: driver-api: iio: fix errors in documentation
    Documentation/process/howto: Update for 4.x -> 5.x versioning
    docs: Explicitly state that the 'Fixes:' tag shouldn't split lines
    doc: security: Add kern-doc for lsm_hooks.h
    doc: sctp: Merge and clean up rst files
    Docs: Correct /proc/stat path
    scripts/spdxcheck.py: fix C++ comment style detection
    doc: fix typos in license-rules.rst
    Documentation: fix admin-guide/README.rst minimum gcc version requirement
    doc: process: complete removal of info about -git patches
    doc: translations: sync translations 'remove info about -git patches'
    perf-security: wrap paragraphs on 72 columns
    perf-security: elaborate on perf_events/Perf privileged users
    perf-security: document collected perf_events/Perf data categories
    perf-security: document perf_events/Perf resource control
    sysfs.txt: add note on available attribute macros
    docs: kernel-doc: typo "if ... if" -> "if ... is"
    ...

    Linus Torvalds
     

05 Mar, 2019

1 commit