Em Tue, 30 Jul 2019 19:10:29 -0400 "Joel Fernandes (Google)" <joel@xxxxxxxxxxxxxxxxx> escreveu: > Mauro's auto conversion broken these links, fix them. They actually worked here with the Sphinx I used, but yeah, the way it is is a way cleaner. > > Signed-off-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx> > --- > .../Tree-RCU-Memory-Ordering.rst | 17 ++-- > .../RCU/Design/Requirements/Requirements.rst | 90 ++++++++----------- > 2 files changed, 47 insertions(+), 60 deletions(-) > > diff --git a/Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.rst b/Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.rst > index 1011b5db1b3d..248b1222f918 100644 > --- a/Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.rst > +++ b/Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.rst > @@ -230,15 +230,14 @@ Tree RCU Grace Period Memory Ordering Components > Tree RCU's grace-period memory-ordering guarantee is provided by a > number of RCU components: > > -#. `Callback Registry <#Callback%20Registry>`__ > -#. `Grace-Period Initialization <#Grace-Period%20Initialization>`__ > -#. `Self-Reported Quiescent > - States <#Self-Reported%20Quiescent%20States>`__ > -#. `Dynamic Tick Interface <#Dynamic%20Tick%20Interface>`__ > -#. `CPU-Hotplug Interface <#CPU-Hotplug%20Interface>`__ > -#. `Forcing Quiescent States <Forcing%20Quiescent%20States>`__ > -#. `Grace-Period Cleanup <Grace-Period%20Cleanup>`__ > -#. `Callback Invocation <Callback%20Invocation>`__ > +#. `Callback Registry`_ > +#. `Grace-Period Initialization`_ > +#. `Self-Reported Quiescent States`_ > +#. `Dynamic Tick Interface`_ > +#. `CPU-Hotplug Interface`_ > +#. `Forcing Quiescent States`_ > +#. `Grace-Period Cleanup`_ > +#. `Callback Invocation`_ > > Each of the following section looks at the corresponding component in > detail. > diff --git a/Documentation/RCU/Design/Requirements/Requirements.rst b/Documentation/RCU/Design/Requirements/Requirements.rst > index 876e0038bb58..a33b5fb331b4 100644 > --- a/Documentation/RCU/Design/Requirements/Requirements.rst > +++ b/Documentation/RCU/Design/Requirements/Requirements.rst > @@ -36,16 +36,14 @@ technologies in interesting new ways. > All that aside, here are the categories of currently known RCU > requirements: > > -#. `Fundamental Requirements <#Fundamental%20Requirements>`__ > -#. `Fundamental Non-Requirements <#Fundamental%20Non-Requirements>`__ > -#. `Parallelism Facts of Life <#Parallelism%20Facts%20of%20Life>`__ > -#. `Quality-of-Implementation > - Requirements <#Quality-of-Implementation%20Requirements>`__ > -#. `Linux Kernel Complications <#Linux%20Kernel%20Complications>`__ > -#. `Software-Engineering > - Requirements <#Software-Engineering%20Requirements>`__ > -#. `Other RCU Flavors <#Other%20RCU%20Flavors>`__ > -#. `Possible Future Changes <#Possible%20Future%20Changes>`__ > +#. `Fundamental Requirements`_ > +#. `Fundamental Non-Requirements`_ > +#. `Parallelism Facts of Life`_ > +#. `Quality-of-Implementation Requirements`_ > +#. `Linux Kernel Complications`_ > +#. `Software-Engineering Requirements`_ > +#. `Other RCU Flavors`_ > +#. `Possible Future Changes`_ > > This is followed by a `summary <#Summary>`__, however, the answers to > each quick quiz immediately follows the quiz. Select the big white space > @@ -57,13 +55,11 @@ Fundamental Requirements > RCU's fundamental requirements are the closest thing RCU has to hard > mathematical requirements. These are: > > -#. `Grace-Period Guarantee <#Grace-Period%20Guarantee>`__ > -#. `Publish-Subscribe Guarantee <#Publish-Subscribe%20Guarantee>`__ > -#. `Memory-Barrier Guarantees <#Memory-Barrier%20Guarantees>`__ > -#. `RCU Primitives Guaranteed to Execute > - Unconditionally <#RCU%20Primitives%20Guaranteed%20to%20Execute%20Unconditionally>`__ > -#. `Guaranteed Read-to-Write > - Upgrade <#Guaranteed%20Read-to-Write%20Upgrade>`__ > +#. `Grace-Period Guarantee`_ > +#. `Publish/Subscribe Guarantee`_ > +#. `Memory-Barrier Guarantees`_ > +#. `RCU Primitives Guaranteed to Execute Unconditionally`_ > +#. `Guaranteed Read-to-Write Upgrade`_ > > Grace-Period Guarantee > ~~~~~~~~~~~~~~~~~~~~~~ > @@ -689,16 +685,11 @@ infinitely long, however, the following sections list a few > non-guarantees that have caused confusion. Except where otherwise noted, > these non-guarantees were premeditated. > > -#. `Readers Impose Minimal > - Ordering <#Readers%20Impose%20Minimal%20Ordering>`__ > -#. `Readers Do Not Exclude > - Updaters <#Readers%20Do%20Not%20Exclude%20Updaters>`__ > -#. `Updaters Only Wait For Old > - Readers <#Updaters%20Only%20Wait%20For%20Old%20Readers>`__ > -#. `Grace Periods Don't Partition Read-Side Critical > - Sections <#Grace%20Periods%20Don't%20Partition%20Read-Side%20Critical%20Sections>`__ > -#. `Read-Side Critical Sections Don't Partition Grace > - Periods <#Read-Side%20Critical%20Sections%20Don't%20Partition%20Grace%20Periods>`__ > +#. `Readers Impose Minimal Ordering`_ > +#. `Readers Do Not Exclude Updaters`_ > +#. `Updaters Only Wait For Old Readers`_ > +#. `Grace Periods Don't Partition Read-Side Critical Sections`_ > +#. `Read-Side Critical Sections Don't Partition Grace Periods`_ > > Readers Impose Minimal Ordering > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > @@ -1056,11 +1047,11 @@ it would likely be subject to limitations that would make it > inappropriate for industrial-strength production use. Classes of > quality-of-implementation requirements are as follows: > > -#. `Specialization <#Specialization>`__ > -#. `Performance and Scalability <#Performance%20and%20Scalability>`__ > -#. `Forward Progress <#Forward%20Progress>`__ > -#. `Composability <#Composability>`__ > -#. `Corner Cases <#Corner%20Cases>`__ > +#. `Specialization`_ > +#. `Performance and Scalability`_ > +#. `Forward Progress`_ > +#. `Composability`_ > +#. `Corner Cases`_ > > These classes is covered in the following sections. > > @@ -1692,21 +1683,18 @@ The Linux kernel provides an interesting environment for all kinds of > software, including RCU. Some of the relevant points of interest are as > follows: > > -#. `Configuration <#Configuration>`__. > -#. `Firmware Interface <#Firmware%20Interface>`__. > -#. `Early Boot <#Early%20Boot>`__. > -#. `Interrupts and non-maskable interrupts > - (NMIs) <#Interrupts%20and%20NMIs>`__. > -#. `Loadable Modules <#Loadable%20Modules>`__. > -#. `Hotplug CPU <#Hotplug%20CPU>`__. > -#. `Scheduler and RCU <#Scheduler%20and%20RCU>`__. > -#. `Tracing and RCU <#Tracing%20and%20RCU>`__. > -#. `Energy Efficiency <#Energy%20Efficiency>`__. > -#. `Scheduling-Clock Interrupts and > - RCU <#Scheduling-Clock%20Interrupts%20and%20RCU>`__. > -#. `Memory Efficiency <#Memory%20Efficiency>`__. > -#. `Performance, Scalability, Response Time, and > - Reliability <#Performance,%20Scalability,%20Response%20Time,%20and%20Reliability>`__. > +#. `Configuration`_ > +#. `Firmware Interface`_ > +#. `Early Boot`_ > +#. `Interrupts and NMIs`_ > +#. `Loadable Modules`_ > +#. `Hotplug CPU`_ > +#. `Scheduler and RCU`_ > +#. `Tracing and RCU`_ > +#. `Energy Efficiency`_ > +#. `Scheduling-Clock Interrupts and RCU`_ > +#. `Memory Efficiency`_ > +#. `Performance, Scalability, Response Time, and Reliability`_ > > This list is probably incomplete, but it does give a feel for the most > notable Linux-kernel complications. Each of the following sections > @@ -2344,10 +2332,10 @@ implementations, non-preemptible and preemptible. The other four flavors > are listed below, with requirements for each described in a separate > section. > > -#. `Bottom-Half Flavor (Historical) <#Bottom-Half%20Flavor>`__ > -#. `Sched Flavor (Historical) <#Sched%20Flavor>`__ > -#. `Sleepable RCU <#Sleepable%20RCU>`__ > -#. `Tasks RCU <#Tasks%20RCU>`__ > +#. `Bottom-Half Flavor (Historical)`_ > +#. `Sched Flavor (Historical)`_ > +#. `Sleepable RCU`_ > +#. `Tasks RCU`_ > > Bottom-Half Flavor (Historical) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sounds a lot better to me. Reviewed-by: Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx> Thanks, Mauro